[
  {
    "path": ".bazelversion",
    "content": "2.1.0\n"
  },
  {
    "path": ".gitignore",
    "content": "/bazel-*\n"
  },
  {
    "path": ".travis.yml",
    "content": "dist: trusty\nsudo: required\nosx_image: xcode8\nlanguage: java\n\nos:\n  - linux\n  - osx\n\nenv:\n  - V=2.1.0\n\nbefore_install:\n  - OS=linux\n  - ARCH=x86_64\n  - if [[ \"$TRAVIS_OS_NAME\" == \"osx\" ]]; then OS=darwin; fi\n  - GH_BASE=\"https://github.com/bazelbuild/bazel/releases/download/$V\"\n  - GH_ARTIFACT=\"bazel-$V-installer-$OS-$ARCH.sh\"\n  - CI_BASE=\"http://ci.bazel.io/job/Bazel/JAVA_VERSION=1.8,PLATFORM_NAME=$OS-$ARCH/lastSuccessfulBuild/artifact/output/ci\"\n  - CI_ARTIFACT=\"bazel--installer.sh\"\n  - URL=\"$GH_BASE/$GH_ARTIFACT\"\n  - if [[ \"$V\" == \"HEAD\" ]]; then CI_ARTIFACT=\"`wget -qO- $CI_BASE | grep -o 'bazel-[-_a-zA-Z0-9\\.]*-installer.sh' | uniq`\"; fi\n  - if [[ \"$V\" == \"HEAD\" ]]; then URL=\"$CI_BASE/$CI_ARTIFACT\"; fi\n  - echo $URL\n  - wget -O install.sh $URL\n  - chmod +x install.sh\n  - ./install.sh --user\n  - rm -f install.sh\n\nscript:\n  - bazel --bazelrc=tools/bazel.travis.rc build -k //...\n  - bazel --bazelrc=tools/bazel.travis.rc test -k //...\n  - format/run --verify\n  - sync-deps/run --verify\n  - ./integration-test\n"
  },
  {
    "path": "3rdparty/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nexports_files([\n    \"dependencies.yaml\",\n    \"maven-install.json\",\n])\n"
  },
  {
    "path": "3rdparty/dependencies.yaml",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\noptions:\n  mavenResolvers:\n    - id: \"default\"\n      url: https://repo.maven.apache.org/maven2/\n  scalaAbi: \"2.12\"\n  excludedDependencies:\n    - com.google.guava:guava-jdk5\n    - org.slf4j:slf4j-log4j12\n  versionConflictPolicy: \"pinned\"\n\ngithub:\n  io_bazel:\n    repo: bazelbuild/bazel\n    tag: 2.1.0\n  io_bazel_buildtools:\n    repo: bazelbuild/buildtools\n    commit: 90de5e7001fbdfec29d4128bb508e01169f46950\n  io_bazel_rules_go:\n    repo: bazelbuild/rules_go\n    tag: v0.21.3\n  io_bazel_rules_scala:\n    repo: bazelbuild/rules_scala\n    commit: 8ac93becf908647951ef2fbf45c9a42261152afa\n  rules_python:\n    repo: bazelbuild/rules_python\n    commit: 94677401bc56ed5d756f50b441a6a5c7f735a6d4\n  rules_jvm_external:\n    repo: bazelbuild/rules_jvm_external\n    tag: 3.1\n\nmaven:\n  ch.qos.logback:\n    logback:\n      modules:\n        - classic\n        - core\n      version: \"1.2.3\"\n\n  com.fasterxml.jackson:\n    jackson:\n      modules:\n        - core:annotations\n        - core:core\n        - core:databind\n        - dataformat:dataformat-yaml\n        - datatype:datatype-guava\n      version: \"2.9.6\"\n\n  com.geirsson:\n    scalafmt-core:\n      version: \"1.5.1\"\n      kind: scala\n    metaconfig:\n      modules:\n        - core\n        - typesafe-config\n      kind: scala\n      version: \"0.4.0\"\n\n  com.github.tomas-langer:\n    chalk:\n      version: \"1.0.2\"\n\n  com.google.auto.value:\n    auto-value:\n      modules:\n        - \"\"\n        - annotations\n      version: \"1.6.2\"\n\n  com.google.code.findbugs:\n    annotations:\n      version: \"3.0.1\"\n    jsr305:\n      version: \"3.0.2\"\n\n  com.google.errorprone:\n    error_prone_annotations:\n      version: \"2.3.1\"\n\n  com.google.googlejavaformat:\n    google-java-format:\n      version: \"1.6\"\n\n  com.google.guava:\n    guava:\n      version: \"23.6.1-jre\"\n\n  com.google.protobuf:\n    protobuf:\n      modules:\n        - java\n      version: \"3.8.0\"\n\n  com.google.jimfs:\n    jimfs:\n      version: \"1.1\"\n\n  com.squareup.okio:\n    okio:\n      version: \"1.15.0\"\n\n  net.sf.jopt-simple:\n    jopt-simple:\n      version: \"5.0.4\"\n\n  org.hamcrest:\n    java-hamcrest:\n      version: \"2.0.0.0\"\n\n  org.scala-lang:\n    scala:\n      modules:\n        - compiler\n        - library\n        - reflect\n      version: \"2.12.6\"\n\n  org.slf4j:\n    slf4j:\n      modules:\n        - api\n      version: \"1.7.25\"\n"
  },
  {
    "path": "3rdparty/jvm/ch/qos/logback/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"logback-classic\",\n    actual = artifact(\"ch.qos.logback:logback-classic:1.2.3\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"logback-core\",\n    actual = artifact(\"ch.qos.logback:logback-core:1.2.3\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/fasterxml/jackson/core/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"jackson-annotations\",\n    actual = artifact(\"com.fasterxml.jackson.core:jackson-annotations:2.9.6\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"jackson-core\",\n    actual = artifact(\"com.fasterxml.jackson.core:jackson-core:2.9.6\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"jackson-databind\",\n    actual = artifact(\"com.fasterxml.jackson.core:jackson-databind:2.9.6\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/fasterxml/jackson/dataformat/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"jackson-dataformat-yaml\",\n    actual = artifact(\"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.6\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/fasterxml/jackson/datatype/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"jackson-datatype-guava\",\n    actual = artifact(\"com.fasterxml.jackson.datatype:jackson-datatype-guava:2.9.6\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/geirsson/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"scalafmt-core\",\n    actual = artifact(\"com.geirsson:scalafmt-core_2.12:1.5.1\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"metaconfig-core\",\n    actual = artifact(\"com.geirsson:metaconfig-core_2.12:0.4.0\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"metaconfig-typesafe-config\",\n    actual = artifact(\"com.geirsson:metaconfig-typesafe-config_2.12:0.4.0\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/github/tomas-langer/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"chalk\",\n    actual = artifact(\"com.github.tomas-langer:chalk:1.0.2\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/auto/value/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"auto-value\",\n    actual = artifact(\"com.google.auto.value:auto-value:1.6.2\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"auto-value-annotations\",\n    actual = artifact(\"com.google.auto.value:auto-value-annotations:1.6.2\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/code/findbugs/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"annotations\",\n    actual = artifact(\"com.google.code.findbugs:annotations:3.0.1\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"jsr305\",\n    actual = artifact(\"com.google.code.findbugs:jsr305:3.0.2\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/errorprone/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"error_prone_annotations\",\n    actual = artifact(\"com.google.errorprone:error_prone_annotations:2.3.1\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/googlejavaformat/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"google-java-format\",\n    actual = artifact(\"com.google.googlejavaformat:google-java-format:1.6\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/guava/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"guava\",\n    actual = artifact(\"com.google.guava:guava:23.6.1-jre\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/jimfs/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"jimfs\",\n    actual = artifact(\"com.google.jimfs:jimfs:1.1\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/google/protobuf/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"protobuf-java\",\n    actual = artifact(\"com.google.protobuf:protobuf-java:3.8.0\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/com/squareup/okio/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"okio\",\n    actual = artifact(\"com.squareup.okio:okio:1.15.0\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/net/sf/jopt-simple/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"jopt-simple\",\n    actual = artifact(\"net.sf.jopt-simple:jopt-simple:5.0.4\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/org/hamcrest/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"java-hamcrest\",\n    actual = artifact(\"org.hamcrest:java-hamcrest:2.0.0.0\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/org/scala-lang/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"scala-compiler\",\n    actual = artifact(\"org.scala-lang:scala-compiler:2.12.6\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"scala-library\",\n    actual = artifact(\"org.scala-lang:scala-library:2.12.6\"),\n    visibility = [\"//visibility:public\"],\n)\n\nalias(\n    name = \"scala-reflect\",\n    actual = artifact(\"org.scala-lang:scala-reflect:2.12.6\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/jvm/org/slf4j/BUILD",
    "content": "load(\"@rules_jvm_external//:defs.bzl\", \"artifact\")\n\nalias(\n    name = \"slf4j-api\",\n    actual = artifact(\"org.slf4j:slf4j-api:1.7.25\"),\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "3rdparty/maven-install.json",
    "content": "{\n    \"dependency_tree\": {\n        \"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY\": -1326776945,\n        \"conflict_resolution\": {},\n        \"dependencies\": [\n            {\n                \"coord\": \"ch.qos.logback:logback-classic:1.2.3\",\n                \"dependencies\": [\n                    \"ch.qos.logback:logback-core:1.2.3\",\n                    \"org.slf4j:slf4j-api:1.7.25\"\n                ],\n                \"directDependencies\": [\n                    \"ch.qos.logback:logback-core:1.2.3\",\n                    \"org.slf4j:slf4j-api:1.7.25\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar\"\n                ],\n                \"sha256\": \"fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0\",\n                \"url\": \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar\"\n            },\n            {\n                \"coord\": \"ch.qos.logback:logback-classic:jar:sources:1.2.3\",\n                \"dependencies\": [\n                    \"ch.qos.logback:logback-core:jar:sources:1.2.3\",\n                    \"org.slf4j:slf4j-api:jar:sources:1.7.25\"\n                ],\n                \"directDependencies\": [\n                    \"ch.qos.logback:logback-core:jar:sources:1.2.3\",\n                    \"org.slf4j:slf4j-api:jar:sources:1.7.25\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar\"\n                ],\n                \"sha256\": \"480cb5e99519271c9256716d4be1a27054047435ff72078d9deae5c6a19f63eb\",\n                \"url\": \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar\"\n            },\n            {\n                \"coord\": \"ch.qos.logback:logback-core:1.2.3\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar\"\n                ],\n                \"sha256\": \"5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22\",\n                \"url\": \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar\"\n            },\n            {\n                \"coord\": \"ch.qos.logback:logback-core:jar:sources:1.2.3\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar\"\n                ],\n                \"sha256\": \"1f69b6b638ec551d26b10feeade5a2b77abe347f9759da95022f0da9a63a9971\",\n                \"url\": \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-annotations:2.9.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6.jar\"\n                ],\n                \"sha256\": \"4d1ce5575ad53bee8caae4c15016878e2c3ea47276e675a35ea6bdde3bb0e653\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.9.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar\"\n                ],\n                \"sha256\": \"022ac1b2a3ff015f380d0f8e89b7c08488605f8201227ce9c6a9bb92107414cc\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-core:2.9.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6.jar\"\n                ],\n                \"sha256\": \"fab8746aedd6427788ee390ea04d438ec141bff7eb3476f8bdd5d9110fb2718a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar\"\n                ],\n                \"sha256\": \"8aff614c41c49fb02ac7444dc1a9518f1f9fc5b7c744ada59825225858a0336d\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-databind:2.9.6\",\n                \"dependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-annotations:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-annotations:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6.jar\"\n                ],\n                \"sha256\": \"657e3e979446d61f88432b9c50f0ccd9c1fe4f1c822d533f5572e4c0d172a125\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.core:jackson-databind:jar:sources:2.9.6\",\n                \"dependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar\"\n                ],\n                \"sha256\": \"0f867b675f1f641d06517c2c2232b1fcc21bc6d81a5d09cb8fc6102b13d7e881\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.9.6\",\n                \"dependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\",\n                    \"org.yaml:snakeyaml:1.18\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\",\n                    \"org.yaml:snakeyaml:1.18\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6.jar\"\n                ],\n                \"sha256\": \"0450f6b1e60c2cc710533c24351adc29db102cb114246321379c54b8a8253ad8\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:sources:2.9.6\",\n                \"dependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\",\n                    \"org.yaml:snakeyaml:jar:sources:1.18\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\",\n                    \"org.yaml:snakeyaml:jar:sources:1.18\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6-sources.jar\"\n                ],\n                \"sha256\": \"f5895b5b5dd2279f0a6ed72c4073e7e4bb5ed74ed55358324a62a70cfc723988\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.datatype:jackson-datatype-guava:2.9.6\",\n                \"dependencies\": [\n                    \"org.checkerframework:checker-compat-qual:2.0.0\",\n                    \"com.google.guava:guava:23.6.1-jre\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-databind:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-annotations:2.9.6\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                    \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                    \"com.google.j2objc:j2objc-annotations:1.1\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-databind:2.9.6\",\n                    \"com.google.guava:guava:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6.jar\"\n                ],\n                \"sha256\": \"a94fbdd2ac6e7e1726593f018dcfd6a54d5d8b524b145bcb6819615431f0f3ea\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6.jar\"\n            },\n            {\n                \"coord\": \"com.fasterxml.jackson.datatype:jackson-datatype-guava:jar:sources:2.9.6\",\n                \"dependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\",\n                    \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                    \"com.fasterxml.jackson.core:jackson-annotations:jar:sources:2.9.6\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                    \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\",\n                    \"com.fasterxml.jackson.core:jackson-databind:jar:sources:2.9.6\",\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"directDependencies\": [\n                    \"com.fasterxml.jackson.core:jackson-core:jar:sources:2.9.6\",\n                    \"com.fasterxml.jackson.core:jackson-databind:jar:sources:2.9.6\",\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6-sources.jar\"\n                ],\n                \"sha256\": \"b5c17d6172da492ff6e4a6766d04136b9cbdd618a0bbb04f061950d258e93d7b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:metaconfig-core_2.12:0.4.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:inputs_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0.jar\"\n                ],\n                \"sha256\": \"6bd25189a12b1edbf1511c44783e611a9edd738841901b9243803ff9c696c78a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:metaconfig-core_2.12:jar:sources:0.4.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0-sources.jar\"\n                ],\n                \"sha256\": \"f9ca3ea8723afe3e9213a5664cf8bc3b212d3e7cf861f1d0a96621d89270d532\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0-sources.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:metaconfig-typesafe-config_2.12:0.4.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.typesafe:config:1.2.1\",\n                    \"com.geirsson:metaconfig-core_2.12:0.4.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.geirsson:metaconfig-core_2.12:0.4.0\",\n                    \"com.typesafe:config:1.2.1\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0.jar\"\n                ],\n                \"sha256\": \"e8f6f38738a96c4c09dbf5e5c687000556a0920b63e8e4fc19bb6cbc6d8dcfbd\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:metaconfig-typesafe-config_2.12:jar:sources:0.4.0\",\n                \"dependencies\": [\n                    \"com.geirsson:metaconfig-core_2.12:jar:sources:0.4.0\",\n                    \"com.typesafe:config:jar:sources:1.2.1\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.geirsson:metaconfig-core_2.12:jar:sources:0.4.0\",\n                    \"com.typesafe:config:jar:sources:1.2.1\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0-sources.jar\"\n                ],\n                \"sha256\": \"3c0bf468508f0f0f6b82c0ce72c996235eb7568f996fb1d1b1253c548e018170\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0-sources.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:scalafmt-core_2.12:1.5.1\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"com.geirsson:metaconfig-typesafe-config_2.12:0.4.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0-pre2\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:semantic_2.12:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:3.8.0\",\n                    \"org.scalameta:scalameta_2.12:1.7.0\",\n                    \"org.scalameta:parsers_2.12:1.7.0\",\n                    \"org.scalameta:quasiquotes_2.12:1.7.0\",\n                    \"org.scalameta:transversers_2.12:1.7.0\",\n                    \"org.scalameta:inline_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"com.typesafe:config:1.2.1\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.geirsson:metaconfig-core_2.12:0.4.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:0.4.10\"\n                ],\n                \"directDependencies\": [\n                    \"com.geirsson:metaconfig-core_2.12:0.4.0\",\n                    \"com.geirsson:metaconfig-typesafe-config_2.12:0.4.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:scalameta_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1.jar\"\n                ],\n                \"sha256\": \"808649767cdba809b8e239e3c0f7195f09e04de06dd6281f3471e90a8ca79f55\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1.jar\"\n            },\n            {\n                \"coord\": \"com.geirsson:scalafmt-core_2.12:jar:sources:1.5.1\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                    \"org.scalameta:scalameta_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:semantic_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:transversers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"com.geirsson:metaconfig-core_2.12:jar:sources:0.4.0\",\n                    \"com.typesafe:config:jar:sources:1.2.1\",\n                    \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inline_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:jar:sources:0.6.0-pre2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.geirsson:metaconfig-typesafe-config_2.12:jar:sources:0.4.0\",\n                    \"org.scalameta:quasiquotes_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:parsers_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"com.geirsson:metaconfig-core_2.12:jar:sources:0.4.0\",\n                    \"com.geirsson:metaconfig-typesafe-config_2.12:jar:sources:0.4.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:scalameta_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1-sources.jar\"\n                ],\n                \"sha256\": \"0a996288cf2b0955e74a8ec6aef6714b4b468b42cef717d2c922f59482822b7c\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.github.tomas-langer:chalk:1.0.2\",\n                \"dependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\",\n                    \"org.fusesource.jansi:jansi-native:1.5\",\n                    \"org.fusesource.jansi:jansi-native:jar:windows32:1.5\",\n                    \"org.fusesource.jansi:jansi-native:jar:windows64:1.5\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\",\n                    \"org.fusesource.jansi:jansi-native:1.5\",\n                    \"org.fusesource.jansi:jansi-native:jar:windows32:1.5\",\n                    \"org.fusesource.jansi:jansi-native:jar:windows64:1.5\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2.jar\"\n                ],\n                \"sha256\": \"1bbdca6337a288e28a650e50d0121cfad69065b4ef9ff19c2974e5e78cee5eb6\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2.jar\"\n            },\n            {\n                \"coord\": \"com.github.tomas-langer:chalk:jar:sources:1.0.2\",\n                \"dependencies\": [\n                    \"org.fusesource.jansi:jansi-native:jar:sources:1.5\",\n                    \"org.fusesource.hawtjni:hawtjni-runtime:jar:sources:1.11\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:jar:sources:1.11\",\n                    \"org.fusesource.jansi:jansi-native:jar:sources:1.5\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2-sources.jar\"\n                ],\n                \"sha256\": \"a7bedcd7adb4a934682c78c527c6b15e9c06d976e614a1f1185c559a3019870c\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.auto.value:auto-value-annotations:1.6.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar\"\n                ],\n                \"sha256\": \"b48b04ddba40e8ac33bf036f06fc43995fc5084bd94bdaace807ce27d3bea3fb\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar\"\n            },\n            {\n                \"coord\": \"com.google.auto.value:auto-value-annotations:jar:sources:1.6.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2-sources.jar\"\n                ],\n                \"sha256\": \"9cca705ffd696133e998e289defcc332be5196dbcb6813fcd317b14775a24612\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.auto.value:auto-value:1.6.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar\"\n                ],\n                \"sha256\": \"edbe65a5c53e3d4f5cb10b055d4884ae7705a7cd697be4b2a5d8427761b8ba12\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar\"\n            },\n            {\n                \"coord\": \"com.google.auto.value:auto-value:jar:sources:1.6.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2-sources.jar\"\n                ],\n                \"sha256\": \"d9959ea21834ec9e213378d719b2a7f705efca9b01667cd28718a47683dc273a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.code.findbugs:annotations:3.0.1\",\n                \"dependencies\": [\n                    \"net.jcip:jcip-annotations:1.0\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"net.jcip:jcip-annotations:1.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1.jar\"\n                ],\n                \"sha256\": \"6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1.jar\"\n            },\n            {\n                \"coord\": \"com.google.code.findbugs:annotations:jar:sources:3.0.1\",\n                \"dependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"net.jcip:jcip-annotations:jar:sources:1.0\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"net.jcip:jcip-annotations:jar:sources:1.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1-sources.jar\"\n                ],\n                \"sha256\": \"1a64119813ca80a6ebef047190a4f62ee4ad44afe786e92d698ba7aa730ffc0a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.code.findbugs:jsr305:3.0.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar\"\n                ],\n                \"sha256\": \"766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar\"\n            },\n            {\n                \"coord\": \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar\"\n                ],\n                \"sha256\": \"1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar\"\n                ],\n                \"sha256\": \"10a5949aa0f95c8de4fd47edfe20534d2acefd8c224f8afea1f607e112816120\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar\"\n            },\n            {\n                \"coord\": \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1-sources.jar\"\n                ],\n                \"sha256\": \"0fe3db0b12e624afd1dbeba85421fa58c362f9caf55f1869d7683b8744c53616\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.errorprone:javac-shaded:9+181-r4173-1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1.jar\"\n                ],\n                \"sha256\": \"ae6f663a36bac1855076072afd650cdc0076b08f8129fbff504e73e74095a021\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1.jar\"\n            },\n            {\n                \"coord\": \"com.google.errorprone:javac-shaded:jar:sources:9+181-r4173-1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1-sources.jar\"\n                ],\n                \"sha256\": \"b6487292a495b2c44f6975b797f8eb80290609a995c792519ee116c71fc1663b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.googlejavaformat:google-java-format:1.6\",\n                \"dependencies\": [\n                    \"org.checkerframework:checker-compat-qual:2.0.0\",\n                    \"com.google.guava:guava:23.6.1-jre\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                    \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                    \"com.google.errorprone:javac-shaded:9+181-r4173-1\",\n                    \"com.google.j2objc:j2objc-annotations:1.1\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.errorprone:javac-shaded:9+181-r4173-1\",\n                    \"com.google.guava:guava:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6.jar\"\n                ],\n                \"sha256\": \"fdb408913d3120ab4dd7e631f5857fe8b1bda2fba4dcc26b253dd6eab5b48020\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6.jar\"\n            },\n            {\n                \"coord\": \"com.google.googlejavaformat:google-java-format:jar:sources:1.6\",\n                \"dependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                    \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                    \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\",\n                    \"com.google.errorprone:javac-shaded:jar:sources:9+181-r4173-1\",\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.errorprone:javac-shaded:jar:sources:9+181-r4173-1\",\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6-sources.jar\"\n                ],\n                \"sha256\": \"3ce9a79d45b8208f63ee5b6dce80780caf2796dd3bac8d6346bbe52327690ee5\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.guava:guava:23.6.1-jre\",\n                \"dependencies\": [\n                    \"org.checkerframework:checker-compat-qual:2.0.0\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                    \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                    \"com.google.j2objc:j2objc-annotations:1.1\"\n                ],\n                \"directDependencies\": [\n                    \"org.checkerframework:checker-compat-qual:2.0.0\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                    \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                    \"com.google.j2objc:j2objc-annotations:1.1\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre.jar\"\n                ],\n                \"sha256\": \"9987480e19dba2cc76984c96926a7e9ffbfed3c3fc4ee57e2ae040721d61d5df\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre.jar\"\n            },\n            {\n                \"coord\": \"com.google.guava:guava:jar:sources:23.6.1-jre\",\n                \"dependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                    \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                    \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                    \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                    \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre-sources.jar\"\n                ],\n                \"sha256\": \"36a4a0c6bc406a961eff0771a5edaf01a6ea3512192bba3d1f5ac64d395acca0\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.j2objc:j2objc-annotations:1.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar\"\n                ],\n                \"sha256\": \"2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar\"\n            },\n            {\n                \"coord\": \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar\"\n                ],\n                \"sha256\": \"2cd9022a77151d0b574887635cdfcdf3b78155b602abc89d7f8e62aba55cfb4f\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.jimfs:jimfs:1.1\",\n                \"dependencies\": [\n                    \"org.checkerframework:checker-compat-qual:2.0.0\",\n                    \"com.google.guava:guava:23.6.1-jre\",\n                    \"com.google.code.findbugs:jsr305:3.0.2\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                    \"com.google.errorprone:error_prone_annotations:2.3.1\",\n                    \"com.google.j2objc:j2objc-annotations:1.1\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.guava:guava:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar\"\n                ],\n                \"sha256\": \"c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar\"\n            },\n            {\n                \"coord\": \"com.google.jimfs:jimfs:jar:sources:1.1\",\n                \"dependencies\": [\n                    \"com.google.code.findbugs:jsr305:jar:sources:3.0.2\",\n                    \"com.google.errorprone:error_prone_annotations:jar:sources:2.3.1\",\n                    \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                    \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                    \"com.google.j2objc:j2objc-annotations:jar:sources:1.1\",\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.guava:guava:jar:sources:23.6.1-jre\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1-sources.jar\"\n                ],\n                \"sha256\": \"adebb53450d2313d6927db5155c9be85336109e8f8c0af106ec2a30bc37e64ce\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1-sources.jar\"\n            },\n            {\n                \"coord\": \"com.google.protobuf:protobuf-java:3.8.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar\"\n                ],\n                \"sha256\": \"94ba90a869ddad07eb49afaa8f39e676c2554b5b1c417ad9e1188257e79be60f\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar\"\n            },\n            {\n                \"coord\": \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0-sources.jar\"\n                ],\n                \"sha256\": \"1982b2a96f752cf0d64c3066b5e9e4016f9cc825591f3d1a9c40a017203fcb2f\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0-sources.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2.jar\"\n                ],\n                \"sha256\": \"0da40d3c89d3f7009ac2f6e32b11d8cdd379b40a2f09ce08669b4695f558e101\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar\"\n                ],\n                \"sha256\": \"1eb227bc9659ce84b40d2d258c9ea3e8b8246f362241f43422266e05cabc902d\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2.jar\"\n                ],\n                \"sha256\": \"43f57787179e902137167ba107e665272a0764f1addb3f452136f15bad5b21a8\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar\"\n                ],\n                \"sha256\": \"8e242feb1704b8483969c726056c46e5ba2bb659c943d336ae3948b3a507707d\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2.jar\"\n                ],\n                \"sha256\": \"148c9ea912639404faef7c8e607260787384ae9a2973120c71e440f78c3b5082\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2-sources.jar\"\n                ],\n                \"sha256\": \"faeabf3ef43474e8eb45a704a2490e1aa1fb7dfc49cfb8e458d1f51318a55bb9\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3.jar\"\n                ],\n                \"sha256\": \"3ba3aca0d46496a3304798db8c8d79eedbdf29846b988a0a65207cc13408deca\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3.jar\"\n            },\n            {\n                \"coord\": \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar\"\n                ],\n                \"sha256\": \"5e20864291d9ef92841282606d99434b7af938619689218180717cb72851f7da\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar\"\n            },\n            {\n                \"coord\": \"com.squareup.okio:okio:1.15.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0.jar\"\n                ],\n                \"sha256\": \"693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0.jar\"\n            },\n            {\n                \"coord\": \"com.squareup.okio:okio:jar:sources:1.15.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0-sources.jar\"\n                ],\n                \"sha256\": \"a15f2a8344920da8a68eb4a59089eae1adde5bac1805875ca381cb5b3d96e912\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0-sources.jar\"\n            },\n            {\n                \"coord\": \"com.trueaccord.lenses:lenses_2.12:0.4.10\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10.jar\"\n                ],\n                \"sha256\": \"2c4d6218d81eb682927ddccb386c8c3577e4cdf098130fc25bae4c9f9d312e16\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10.jar\"\n            },\n            {\n                \"coord\": \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10-sources.jar\"\n                ],\n                \"sha256\": \"ee3896f145d5ac5ea9966a702fe30641caa1670bf6a5f74376ba75fd2273c558\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10-sources.jar\"\n            },\n            {\n                \"coord\": \"com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0-pre2\",\n                \"dependencies\": [\n                    \"com.google.protobuf:protobuf-java:3.8.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:0.4.10\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.protobuf:protobuf-java:3.8.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:0.4.10\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2.jar\"\n                ],\n                \"sha256\": \"07bc456f05bb654db0cae9361bd6240d5892f3066534fd5e46b6922f2cbdb1c7\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2.jar\"\n            },\n            {\n                \"coord\": \"com.trueaccord.scalapb:scalapb-runtime_2.12:jar:sources:0.6.0-pre2\",\n                \"dependencies\": [\n                    \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2-sources.jar\"\n                ],\n                \"sha256\": \"d14e202e4583e9c5b8808e090284a7bf362feab80918846f039b744d169a7ecc\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2-sources.jar\"\n            },\n            {\n                \"coord\": \"com.typesafe:config:1.2.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar\"\n                ],\n                \"sha256\": \"c160fbd78f51a0c2375a794e435ce2112524a6871f64d0331895e9e26ee8b9ee\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar\"\n            },\n            {\n                \"coord\": \"com.typesafe:config:jar:sources:1.2.1\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1-sources.jar\"\n                ],\n                \"sha256\": \"78a8a2728fd5236b24a9bed7c253729887848ff5d3af5f9ef02e85be5fc43bba\",\n                \"url\": \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1-sources.jar\"\n            },\n            {\n                \"coord\": \"net.jcip:jcip-annotations:1.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar\"\n                ],\n                \"sha256\": \"be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0\",\n                \"url\": \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar\"\n            },\n            {\n                \"coord\": \"net.jcip:jcip-annotations:jar:sources:1.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar\"\n                ],\n                \"sha256\": \"e3ad6ae439e3cf8a25372de838efaa1a95f8ef9b5053d5d94fafe89c8c09814e\",\n                \"url\": \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar\"\n            },\n            {\n                \"coord\": \"net.sf.jopt-simple:jopt-simple:5.0.4\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar\"\n                ],\n                \"sha256\": \"df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28\",\n                \"url\": \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar\"\n            },\n            {\n                \"coord\": \"net.sf.jopt-simple:jopt-simple:jar:sources:5.0.4\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4-sources.jar\"\n                ],\n                \"sha256\": \"06b283801a5a94ef697b7f2c79a048c4e2f848b3daddda61cab74d882bdd97a5\",\n                \"url\": \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4-sources.jar\"\n            },\n            {\n                \"coord\": \"org.checkerframework:checker-compat-qual:2.0.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar\"\n                ],\n                \"sha256\": \"a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar\"\n            },\n            {\n                \"coord\": \"org.checkerframework:checker-compat-qual:jar:sources:2.0.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0-sources.jar\"\n                ],\n                \"sha256\": \"8e287b29415fac2c0b9eb04f30224d9d2ad33c23b7a7ce8d23d1f197f0eb5074\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.codehaus.mojo:animal-sniffer-annotations:1.14\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar\"\n                ],\n                \"sha256\": \"2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar\"\n            },\n            {\n                \"coord\": \"org.codehaus.mojo:animal-sniffer-annotations:jar:sources:1.14\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14-sources.jar\"\n                ],\n                \"sha256\": \"d821ae1f706db2c1b9c88d4b7b0746b01039dac63762745ef3fe5579967dd16b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14-sources.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.hawtjni:hawtjni-runtime:1.11\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11.jar\"\n                ],\n                \"sha256\": \"cd702bfb80bc859ff9f89bfbcc5f3709dfbb2817160f1254c5f486e1e582af3b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.hawtjni:hawtjni-runtime:jar:sources:1.11\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11-sources.jar\"\n                ],\n                \"sha256\": \"2d9b0be42c6a5cb82e6d3fe412210e38b1e52c8a3cecb8f4d0640b5e6ec8486d\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11-sources.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.jansi:jansi-native:1.5\",\n                \"dependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5.jar\"\n                ],\n                \"sha256\": \"068c02045c1ee9d8eb86a45a18d677d736b2fa7fbf6061413cc6abf839a4e651\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.jansi:jansi-native:jar:sources:1.5\",\n                \"dependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:jar:sources:1.11\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:jar:sources:1.11\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-sources.jar\"\n                ],\n                \"sha256\": \"d9aaeafcbbd0eb14da32596466968459f826f43cdb3af592816086d1d12baf28\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-sources.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.jansi:jansi-native:jar:windows32:1.5\",\n                \"dependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows32.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows32.jar\"\n                ],\n                \"sha256\": \"4b36697f65369a5a05680d31d0fcd90d77c541b81c0fdef9e3eee5743c5df528\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows32.jar\"\n            },\n            {\n                \"coord\": \"org.fusesource.jansi:jansi-native:jar:windows64:1.5\",\n                \"dependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"directDependencies\": [\n                    \"org.fusesource.hawtjni:hawtjni-runtime:1.11\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows64.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows64.jar\"\n                ],\n                \"sha256\": \"cac96b26e85836334fc523df00b80197c4ba2e1f71337793ccbb6a587afa88f6\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows64.jar\"\n            },\n            {\n                \"coord\": \"org.hamcrest:java-hamcrest:2.0.0.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0.jar\"\n                ],\n                \"sha256\": \"09bc7044d57a497846e2480250e7a72ff3ae58efefc8c3a9ceecd0f4e092851c\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0.jar\"\n            },\n            {\n                \"coord\": \"org.hamcrest:java-hamcrest:jar:sources:2.0.0.0\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0-sources.jar\"\n                ],\n                \"sha256\": \"2ad13be4d6d61cd4cc2bdafb434b7214d1f489b1cc9426335dbfc55329eca675\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang.modules:scala-xml_2.12:1.0.6\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar\"\n                ],\n                \"sha256\": \"7cc3b6ceb56e879cb977e8e043f4bfe2e062f78795efd7efa09f85003cb3230a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang.modules:scala-xml_2.12:jar:sources:1.0.6\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6-sources.jar\"\n                ],\n                \"sha256\": \"a7e8aac79394df396afda98b35537791809d815ce15ab2224f7d31e50c753922\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-compiler:2.12.6\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scala-lang:scala-reflect:2.12.6\",\n                    \"org.scala-lang.modules:scala-xml_2.12:1.0.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scala-lang:scala-reflect:2.12.6\",\n                    \"org.scala-lang.modules:scala-xml_2.12:1.0.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar\"\n                ],\n                \"sha256\": \"3023b07cc02f2b0217b2c04f8e636b396130b3a8544a8dfad498a19c3e57a863\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-compiler:jar:sources:2.12.6\",\n                \"dependencies\": [\n                    \"org.scala-lang.modules:scala-xml_2.12:jar:sources:1.0.6\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scala-lang:scala-reflect:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scala-lang:scala-reflect:jar:sources:2.12.6\",\n                    \"org.scala-lang.modules:scala-xml_2.12:jar:sources:1.0.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6-sources.jar\"\n                ],\n                \"sha256\": \"d3e9d7cc7b50c89676481959cebbf231275863c9f74102de28250dc92ffd4a6f\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-library:2.12.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar\"\n                ],\n                \"sha256\": \"f81d7144f0ce1b8123335b72ba39003c4be2870767aca15dd0888ba3dab65e98\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6-sources.jar\"\n                ],\n                \"sha256\": \"e1b905fd404095bcff7e26e750c396c7b4b193044f60555147142d24427aeaf6\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-reflect:2.12.6\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar\"\n                ],\n                \"sha256\": \"ffa70d522fc9f9deec14358aa674e6dd75c9dfa39d4668ef15bb52f002ce99fa\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar\"\n            },\n            {\n                \"coord\": \"org.scala-lang:scala-reflect:jar:sources:2.12.6\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6-sources.jar\"\n                ],\n                \"sha256\": \"f30b396d82485470a6f9b1aef955cb70426f8c0cd72b00c37cb68b363f4939de\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:common_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"87445943f1dff51a063b95660ed0bf5b3f2d28a9260aa7c38cfec7d1b684e826\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"c8137b4a06ad56c736a00b605447dd19849b84185f93f824d7ee8d729a44b193\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:dialects_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:common_2.12:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:common_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"14cb63ebdae50463ef00dd4c3c07dfcb1b5aa7a30b3fc744046010a568f023e8\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"405bede88f1ab3bc57d2740508e5a1975d0d578959919a21f37c38c185219a13\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:inline_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:inputs_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"34af09bc3946dc00a276b54f790ffa2ba6ce40fc695dfa3cac74af2ea4416788\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:inline_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"d4b82276c7c2c865bbac98212b872d76865692a08353542a05b6bdfd17dce51b\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:inputs_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"2f8582bba795c8997ea44210fb9c32b97e8e617336f10f01a3f85d206af2efe6\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"00876d6018a9e6d4ebe04452f8359ccd1404ffae614013b4f91a545a0509f2da\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:io_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"7884cf043a6ad61b36352e42a4c6b4c9eace83ebaed54d8072725710009ddc58\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"e503cd739e2f496a499899e43490c5924bb32f64242b281c48f1e563f2c9efcf\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:parsers_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"fc1625dfe09ec108fda13d39f681a6499876f55f4763ddb124d3275e7084d340\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:parsers_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"35513d8a11716937a0e43ab805984491ebef58a873019b451a027c942fa8d720\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:quasiquotes_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:parsers_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:parsers_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:trees_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"d3a7144f273dfdeaa21afdfaf437739fd3622855d82d0eead37c3236be25b8fc\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:quasiquotes_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:parsers_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:parsers_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"48f8b9630aafb13e16f67ffc937db012036a334911528b95ebcab59f66e584fa\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:scalameta_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0-pre2\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:semantic_2.12:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:3.8.0\",\n                    \"org.scalameta:parsers_2.12:1.7.0\",\n                    \"org.scalameta:quasiquotes_2.12:1.7.0\",\n                    \"org.scalameta:transversers_2.12:1.7.0\",\n                    \"org.scalameta:inline_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:0.4.10\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:semantic_2.12:1.7.0\",\n                    \"org.scalameta:parsers_2.12:1.7.0\",\n                    \"org.scalameta:quasiquotes_2.12:1.7.0\",\n                    \"org.scalameta:transversers_2.12:1.7.0\",\n                    \"org.scalameta:inline_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:trees_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"a981b3a6180912bd33f1ec92bb3a880c452f1eb491f9e456e80d4ac527a7f7c2\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:scalameta_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                    \"org.scalameta:semantic_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:transversers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inline_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:jar:sources:0.6.0-pre2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:quasiquotes_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:parsers_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:semantic_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:transversers_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inline_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:quasiquotes_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:parsers_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"6c8205a7f415a28d3cb047dd22a2fcfc037331a9ebd7d44691aac7f3a0d15128\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:semantic_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0-pre2\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:3.8.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:0.4.10\"\n                ],\n                \"directDependencies\": [\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:0.6.0-pre2\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scalameta:trees_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"475788dca2cb7f3b53391c65b23885b8bbb8c3c8c932bce178e8e185ba4d012a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:semantic_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.google.protobuf:protobuf-java:jar:sources:3.8.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"com.trueaccord.lenses:lenses_2.12:jar:sources:0.4.10\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:jar:sources:0.6.0-pre2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"com.trueaccord.scalapb:scalapb-runtime_2.12:jar:sources:0.6.0-pre2\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"f8ec633ab3a6bea4dc5075b5fd27eece0f773e33d77b06241fb88ff444f507c2\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:tokenizers_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"5057840f62c90eb4cba66b97f6b8815a8f757ba214481668cbc3998b01b0cb7a\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"8e051f7627820d3dd39b290209202dac3b558dd0dc6dcd50d936683fc6e05701\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:tokens_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:inputs_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"8dc25ef61eb7ef76e5ecf25f897e8d835f10d6451c33a0fe3b2fd2b31c7d7bf8\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:tokens_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"c7facec3faa933e583bd8db27262ac4b8efaba33795c9b8528f51efa3c37bc1f\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:transversers_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:trees_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scalameta:trees_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"b45fe5f0284ec77737778831685f43d5b434121a88c488ff1ec6e82e53eb5536\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:transversers_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:trees_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"f1b75119ecb65bc29989370b8b82da4945112dfd1c216ead5e4c7253638f8539\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:trees_2.12:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:io_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"com.lihaoyi:scalaparse_2.12:0.4.2\",\n                    \"com.lihaoyi:fastparse-utils_2.12:0.4.2\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"com.lihaoyi:sourcecode_2.12:0.1.3\",\n                    \"org.scalameta:tokens_2.12:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:0.4.2\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:inputs_2.12:1.7.0\",\n                    \"org.scalameta:tokenizers_2.12:1.7.0\",\n                    \"org.scalameta:common_2.12:1.7.0\",\n                    \"org.scala-lang:scala-library:2.12.6\",\n                    \"org.scalameta:dialects_2.12:1.7.0\",\n                    \"org.scalameta:tokens_2.12:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0.jar\"\n                ],\n                \"sha256\": \"68e115214da0ff306e5bd7e1333680dddb51f72fd5783fe8a686c829208ef84c\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0.jar\"\n            },\n            {\n                \"coord\": \"org.scalameta:trees_2.12:jar:sources:1.7.0\",\n                \"dependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse-utils_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:scalaparse_2.12:jar:sources:0.4.2\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:io_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"com.lihaoyi:fastparse_2.12:jar:sources:0.4.2\",\n                    \"com.lihaoyi:sourcecode_2.12:jar:sources:0.1.3\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"directDependencies\": [\n                    \"org.scalameta:tokenizers_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:inputs_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:dialects_2.12:jar:sources:1.7.0\",\n                    \"org.scala-lang:scala-library:jar:sources:2.12.6\",\n                    \"org.scalameta:common_2.12:jar:sources:1.7.0\",\n                    \"org.scalameta:tokens_2.12:jar:sources:1.7.0\"\n                ],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0-sources.jar\"\n                ],\n                \"sha256\": \"c76f8f57ec044ac22be27dc76063ce836d2358cb011e913b5e1f36efb2bdc792\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0-sources.jar\"\n            },\n            {\n                \"coord\": \"org.slf4j:slf4j-api:1.7.25\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar\"\n                ],\n                \"sha256\": \"18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar\"\n            },\n            {\n                \"coord\": \"org.slf4j:slf4j-api:jar:sources:1.7.25\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar\"\n                ],\n                \"sha256\": \"c4bc93180a4f0aceec3b057a2514abe04a79f06c174bbed910a2afb227b79366\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar\"\n            },\n            {\n                \"coord\": \"org.yaml:snakeyaml:1.18\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar\"\n                ],\n                \"sha256\": \"81bf4c29d0275dace75fadb5febf5384553422816256023efa83b2b15a9ced60\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar\"\n            },\n            {\n                \"coord\": \"org.yaml:snakeyaml:jar:sources:1.18\",\n                \"dependencies\": [],\n                \"directDependencies\": [],\n                \"exclusions\": [\n                    \"com.google.guava:guava-jdk5\",\n                    \"org.slf4j:slf4j-log4j12\"\n                ],\n                \"file\": \"v1/https/repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18-sources.jar\",\n                \"mirror_urls\": [\n                    \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18-sources.jar\"\n                ],\n                \"sha256\": \"76a7b11358ea5ed67e49de701566a785c25c9ba8b86fca62ce0840838b81f4e7\",\n                \"url\": \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18-sources.jar\"\n            }\n        ],\n        \"version\": \"0.1.0\"\n    }\n}\n"
  },
  {
    "path": "3rdparty/repositories.bzl",
    "content": "# This file is generated by sync-deps, do not edit!\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\", \"http_file\")\nload(\"//3rdparty:resolved.bzl\", \"resolved\")\n\ndef default_github_callback(name, repository, commit = None, branch = None, tag = None, release = None, strip_prefix = None, sha256 = None, **kwargs):\n    repo_name = repository.split(\"/\")[-1]\n\n    if tag != None and release != None:\n        _maybe(\n            http_archive,\n            name = name,\n            sha256 = sha256,\n            strip_prefix = strip_prefix,\n            url = \"https://github.com/%s/releases/download/%s/%s\" % (repository, tag, release),\n        )\n    else:\n        _maybe(\n            git_repository,\n            name = name,\n            commit = commit,\n            branch = branch,\n            tag = tag,\n            release = release,\n            remote = \"https://github.com/%s.git\" % repository,\n        )\n\ndef _maybe(repo_rule, **kwargs):\n    if kwargs[\"name\"] not in native.existing_rules():\n        repo_rule(**kwargs)\n\ndef _frozen_repos():\n    for entry in resolved:\n        for repo in entry.get(\"repositories\", []):\n            rule_class = repo.get(\"rule_class\")\n            if rule_class == \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\":\n                _maybe(git_repository, **(repo[\"attributes\"]))\n            elif rule_class == \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\":\n                _maybe(http_archive, **(repo[\"attributes\"]))\n            elif rule_class == \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\":\n                _maybe(http_file, **(repo[\"attributes\"]))\n\ndef repositories(github_callback = None):\n    _frozen_repos()\n    if github_callback == None:\n        github_callback = default_github_callback\n    github_callback(name = \"io_bazel\", repository = \"bazelbuild/bazel\", tag = \"2.1.0\")\n    github_callback(name = \"io_bazel_buildtools\", repository = \"bazelbuild/buildtools\", commit = \"90de5e7001fbdfec29d4128bb508e01169f46950\")\n    github_callback(name = \"io_bazel_rules_go\", repository = \"bazelbuild/rules_go\", tag = \"v0.21.3\")\n    github_callback(name = \"io_bazel_rules_scala\", repository = \"bazelbuild/rules_scala\", commit = \"8ac93becf908647951ef2fbf45c9a42261152afa\")\n    github_callback(name = \"rules_python\", repository = \"bazelbuild/rules_python\", commit = \"94677401bc56ed5d756f50b441a6a5c7f735a6d4\")\n    github_callback(name = \"rules_jvm_external\", repository = \"bazelbuild/rules_jvm_external\", tag = \"3.1\")\n"
  },
  {
    "path": "3rdparty/repositories.yaml",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\ngit: {}\n"
  },
  {
    "path": "3rdparty/resolved.bzl",
    "content": "resolved = [\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android/crosstool\",\n            \"actual\": \"@bazel_tools//tools/cpp:toolchain\"\n        },\n        \"native\": \"bind(name = \\\"android/crosstool\\\", actual = \\\"@bazel_tools//tools/cpp:toolchain\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android/d8_jar_import\",\n            \"actual\": \"@bazel_tools//tools/android:no_android_sdk_repository_error\"\n        },\n        \"native\": \"bind(name = \\\"android/d8_jar_import\\\", actual = \\\"@bazel_tools//tools/android:no_android_sdk_repository_error\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android/dx_jar_import\",\n            \"actual\": \"@bazel_tools//tools/android:no_android_sdk_repository_error\"\n        },\n        \"native\": \"bind(name = \\\"android/dx_jar_import\\\", actual = \\\"@bazel_tools//tools/android:no_android_sdk_repository_error\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android/sdk\",\n            \"actual\": \"@bazel_tools//tools/android:poison_pill_android_sdk\"\n        },\n        \"native\": \"bind(name = \\\"android/sdk\\\", actual = \\\"@bazel_tools//tools/android:poison_pill_android_sdk\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android_ndk_for_testing\",\n            \"actual\": \"//:dummy\"\n        },\n        \"native\": \"bind(name = \\\"android_ndk_for_testing\\\", actual = \\\"//:dummy\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"android_sdk_for_testing\",\n            \"actual\": \"//:dummy\"\n        },\n        \"native\": \"bind(name = \\\"android_sdk_for_testing\\\", actual = \\\"//:dummy\\\")\"\n    },\n    {\n        \"original_rule_class\": \"local_repository\",\n        \"original_attributes\": {\n            \"name\": \"bazel_tools\",\n            \"path\": \"/var/tmp/_bazel_smandrean/install/7afe40059062a3d2a6e3d7dae41ab49a/embedded_tools\"\n        },\n        \"native\": \"local_repository(name = \\\"bazel_tools\\\", path = __embedded_dir__ + \\\"/\\\" + \\\"embedded_tools\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"cc_toolchain\",\n            \"actual\": \"@local_config_cc//:toolchain\"\n        },\n        \"native\": \"bind(name = \\\"cc_toolchain\\\", actual = \\\"@local_config_cc//:toolchain\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"databinding_annotation_processor\",\n            \"actual\": \"@bazel_tools//tools/android:empty\"\n        },\n        \"native\": \"bind(name = \\\"databinding_annotation_processor\\\", actual = \\\"@bazel_tools//tools/android:empty\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"has_androidsdk\",\n            \"actual\": \"@bazel_tools//tools/android:always_false\"\n        },\n        \"native\": \"bind(name = \\\"has_androidsdk\\\", actual = \\\"@bazel_tools//tools/android:always_false\\\")\"\n    },\n    {\n        \"original_rule_class\": \"local_repository\",\n        \"original_attributes\": {\n            \"name\": \"spotify_bazel_tools\",\n            \"path\": \".\"\n        },\n        \"native\": \"local_repository(name = \\\"spotify_bazel_tools\\\", path = \\\".\\\")\"\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:47:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel\",\n            \"remote\": \"https://github.com/bazelbuild/bazel.git\",\n            \"tag\": \"2.1.0\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"28e3be7879981185670a3801f78f7b462bdea22dba6be272aa0ac0235677aa2b\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/bazel.git\",\n                    \"commit\": \"0f4c498a270f05b3896d57055b6489e824821eda\",\n                    \"shallow_since\": \"1581080172 +0100\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"io_bazel\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_buildtools' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:48:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_buildtools\",\n            \"remote\": \"https://github.com/bazelbuild/buildtools.git\",\n            \"commit\": \"77355e5628b4bfffa932bc8645ea165d9f5c486d\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"7020be77ee115298d72406ebe62e3acd7b8d7519cff374c2a73ac1e940027ddc\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/buildtools.git\",\n                    \"commit\": \"77355e5628b4bfffa932bc8645ea165d9f5c486d\",\n                    \"shallow_since\": \"1574963978 +0100\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"io_bazel_buildtools\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_go' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:49:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_go\",\n            \"remote\": \"https://github.com/bazelbuild/rules_go.git\",\n            \"commit\": \"a667c18bef6ec5a11f1cbf40b219d541c48e942e\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"765b375a4e92b3ab4c0fe82400fd72e905824d267075320fb3cf3edc7cfb15bf\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/rules_go.git\",\n                    \"commit\": \"a667c18bef6ec5a11f1cbf40b219d541c48e942e\",\n                    \"shallow_since\": \"1575327545 -0500\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"io_bazel_rules_go\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:50:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala\",\n            \"remote\": \"https://github.com/bazelbuild/rules_scala.git\",\n            \"commit\": \"6c16cff213b76a4126bdc850956046da5db1daaa\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"edc6c9641a3a2db6f065990d657cd262388d751c58b8eab7a7af3afc5c2b43db\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/rules_scala.git\",\n                    \"commit\": \"6c16cff213b76a4126bdc850956046da5db1daaa\",\n                    \"shallow_since\": \"1579159897 +0200\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"io_bazel_rules_scala\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'rules_jvm_external' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:52:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"rules_jvm_external\",\n            \"remote\": \"https://github.com/bazelbuild/rules_jvm_external.git\",\n            \"tag\": \"3.0\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"f6a11188e2874f8dc28cea7c620c495be460df6017a1a8d7a2e3a528a6bd0980\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/rules_jvm_external.git\",\n                    \"commit\": \"0e365338b26ff9879ab67683730f50a184b3f3be\",\n                    \"shallow_since\": \"1575589877 -0500\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"rules_jvm_external\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'rules_python' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:30:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:18:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/repositories.bzl:51:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:18:1\",\n        \"original_attributes\": {\n            \"name\": \"rules_python\",\n            \"remote\": \"https://github.com/bazelbuild/rules_python.git\",\n            \"commit\": \"94677401bc56ed5d756f50b441a6a5c7f735a6d4\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"a361cad2b13954152249754b4582234181b4b7726b9a76f84fb386b7f587a323\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/bazelbuild/rules_python.git\",\n                    \"commit\": \"94677401bc56ed5d756f50b441a6a5c7f735a6d4\",\n                    \"shallow_since\": \"1573842889 -0500\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"rules_python\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@rules_jvm_external//:coursier.bzl%pinned_coursier_fetch\",\n        \"definition_information\": \"Call stack for the definition of repository 'maven' which is a pinned_coursier_fetch (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/coursier.bzl:691:25):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/defs.bzl:111:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/defs.bzl:111:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/workspace.bzl:6:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/workspace.bzl:18:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:22:1\",\n        \"original_attributes\": {\n            \"name\": \"maven\",\n            \"artifacts\": [\n                \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-classic\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-core\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-annotations\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-core\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-databind\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.dataformat\\\", \\\"artifact\\\": \\\"jackson-dataformat-yaml\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.datatype\\\", \\\"artifact\\\": \\\"jackson-datatype-guava\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"scalafmt-core_2.12\\\", \\\"version\\\": \\\"1.5.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-core_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-typesafe-config_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.github.tomas-langer\\\", \\\"artifact\\\": \\\"chalk\\\", \\\"version\\\": \\\"1.0.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value-annotations\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"annotations\\\", \\\"version\\\": \\\"3.0.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"jsr305\\\", \\\"version\\\": \\\"3.0.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.errorprone\\\", \\\"artifact\\\": \\\"error_prone_annotations\\\", \\\"version\\\": \\\"2.3.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.googlejavaformat\\\", \\\"artifact\\\": \\\"google-java-format\\\", \\\"version\\\": \\\"1.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava\\\", \\\"version\\\": \\\"23.6.1-jre\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.protobuf\\\", \\\"artifact\\\": \\\"protobuf-java\\\", \\\"version\\\": \\\"3.8.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.jimfs\\\", \\\"artifact\\\": \\\"jimfs\\\", \\\"version\\\": \\\"1.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.squareup.okio\\\", \\\"artifact\\\": \\\"okio\\\", \\\"version\\\": \\\"1.15.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"net.sf.jopt-simple\\\", \\\"artifact\\\": \\\"jopt-simple\\\", \\\"version\\\": \\\"5.0.4\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.hamcrest\\\", \\\"artifact\\\": \\\"java-hamcrest\\\", \\\"version\\\": \\\"2.0.0.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-compiler\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-library\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-reflect\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-api\\\", \\\"version\\\": \\\"1.7.25\\\", \\\"neverlink\\\": false }\"\n            ],\n            \"fetch_sources\": True,\n            \"generate_compat_repositories\": False,\n            \"maven_install_json\": \"//3rdparty:maven-install.json\",\n            \"override_targets\": {},\n            \"strict_visibility\": False\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@rules_jvm_external//:coursier.bzl%pinned_coursier_fetch\",\n                \"output_tree_hash\": \"10fd4e41dbcb7342409ff92fc011b0b160cba14023a3958b8d997ba1e4c56f5c\",\n                \"attributes\": {\n                    \"name\": \"maven\",\n                    \"artifacts\": [\n                        \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-classic\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-core\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-annotations\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-core\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-databind\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.dataformat\\\", \\\"artifact\\\": \\\"jackson-dataformat-yaml\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.datatype\\\", \\\"artifact\\\": \\\"jackson-datatype-guava\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"scalafmt-core_2.12\\\", \\\"version\\\": \\\"1.5.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-core_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-typesafe-config_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.github.tomas-langer\\\", \\\"artifact\\\": \\\"chalk\\\", \\\"version\\\": \\\"1.0.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value-annotations\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"annotations\\\", \\\"version\\\": \\\"3.0.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"jsr305\\\", \\\"version\\\": \\\"3.0.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.errorprone\\\", \\\"artifact\\\": \\\"error_prone_annotations\\\", \\\"version\\\": \\\"2.3.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.googlejavaformat\\\", \\\"artifact\\\": \\\"google-java-format\\\", \\\"version\\\": \\\"1.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava\\\", \\\"version\\\": \\\"23.6.1-jre\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.protobuf\\\", \\\"artifact\\\": \\\"protobuf-java\\\", \\\"version\\\": \\\"3.8.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.jimfs\\\", \\\"artifact\\\": \\\"jimfs\\\", \\\"version\\\": \\\"1.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.squareup.okio\\\", \\\"artifact\\\": \\\"okio\\\", \\\"version\\\": \\\"1.15.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"net.sf.jopt-simple\\\", \\\"artifact\\\": \\\"jopt-simple\\\", \\\"version\\\": \\\"5.0.4\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.hamcrest\\\", \\\"artifact\\\": \\\"java-hamcrest\\\", \\\"version\\\": \\\"2.0.0.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-compiler\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-library\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-reflect\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-api\\\", \\\"version\\\": \\\"1.7.25\\\", \\\"neverlink\\\": false }\"\n                    ],\n                    \"fetch_sources\": True,\n                    \"generate_compat_repositories\": False,\n                    \"maven_install_json\": \"//3rdparty:maven-install.json\",\n                    \"override_targets\": {},\n                    \"strict_visibility\": False\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@rules_jvm_external//:coursier.bzl%coursier_fetch\",\n        \"definition_information\": \"Call stack for the definition of repository 'unpinned_maven' which is a coursier_fetch (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/coursier.bzl:712:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/defs.bzl:89:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/rules_jvm_external/defs.bzl:89:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/workspace.bzl:6:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/3rdparty/workspace.bzl:18:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:22:1\",\n        \"original_attributes\": {\n            \"name\": \"unpinned_maven\",\n            \"repositories\": [\n                \"{ \\\"repo_url\\\": \\\"https://repo.maven.apache.org/maven2/\\\" }\"\n            ],\n            \"artifacts\": [\n                \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-classic\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-core\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-annotations\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-core\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-databind\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.dataformat\\\", \\\"artifact\\\": \\\"jackson-dataformat-yaml\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.fasterxml.jackson.datatype\\\", \\\"artifact\\\": \\\"jackson-datatype-guava\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"scalafmt-core_2.12\\\", \\\"version\\\": \\\"1.5.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-core_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-typesafe-config_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.github.tomas-langer\\\", \\\"artifact\\\": \\\"chalk\\\", \\\"version\\\": \\\"1.0.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value-annotations\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"annotations\\\", \\\"version\\\": \\\"3.0.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"jsr305\\\", \\\"version\\\": \\\"3.0.2\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.errorprone\\\", \\\"artifact\\\": \\\"error_prone_annotations\\\", \\\"version\\\": \\\"2.3.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.googlejavaformat\\\", \\\"artifact\\\": \\\"google-java-format\\\", \\\"version\\\": \\\"1.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava\\\", \\\"version\\\": \\\"23.6.1-jre\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.protobuf\\\", \\\"artifact\\\": \\\"protobuf-java\\\", \\\"version\\\": \\\"3.8.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.google.jimfs\\\", \\\"artifact\\\": \\\"jimfs\\\", \\\"version\\\": \\\"1.1\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"com.squareup.okio\\\", \\\"artifact\\\": \\\"okio\\\", \\\"version\\\": \\\"1.15.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"net.sf.jopt-simple\\\", \\\"artifact\\\": \\\"jopt-simple\\\", \\\"version\\\": \\\"5.0.4\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.hamcrest\\\", \\\"artifact\\\": \\\"java-hamcrest\\\", \\\"version\\\": \\\"2.0.0.0\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-compiler\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-library\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-reflect\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-api\\\", \\\"version\\\": \\\"1.7.25\\\", \\\"neverlink\\\": false }\"\n            ],\n            \"fail_on_missing_checksum\": True,\n            \"fetch_sources\": True,\n            \"use_unsafe_shared_cache\": False,\n            \"excluded_artifacts\": [\n                \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava-jdk5\\\" }\",\n                \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-log4j12\\\" }\"\n            ],\n            \"generate_compat_repositories\": False,\n            \"version_conflict_policy\": \"pinned\",\n            \"maven_install_json\": \"//3rdparty:maven-install.json\",\n            \"override_targets\": {},\n            \"strict_visibility\": False,\n            \"resolve_timeout\": 600\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@rules_jvm_external//:coursier.bzl%coursier_fetch\",\n                \"output_tree_hash\": \"50be320131b6cbc64ba68a6331faf8f27e9264a2350b76d934a91bb743bae434\",\n                \"attributes\": {\n                    \"name\": \"unpinned_maven\",\n                    \"repositories\": [\n                        \"{ \\\"repo_url\\\": \\\"https://repo.maven.apache.org/maven2/\\\" }\"\n                    ],\n                    \"artifacts\": [\n                        \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-classic\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"ch.qos.logback\\\", \\\"artifact\\\": \\\"logback-core\\\", \\\"version\\\": \\\"1.2.3\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-annotations\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-core\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.core\\\", \\\"artifact\\\": \\\"jackson-databind\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.dataformat\\\", \\\"artifact\\\": \\\"jackson-dataformat-yaml\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.fasterxml.jackson.datatype\\\", \\\"artifact\\\": \\\"jackson-datatype-guava\\\", \\\"version\\\": \\\"2.9.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"scalafmt-core_2.12\\\", \\\"version\\\": \\\"1.5.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-core_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.geirsson\\\", \\\"artifact\\\": \\\"metaconfig-typesafe-config_2.12\\\", \\\"version\\\": \\\"0.4.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.github.tomas-langer\\\", \\\"artifact\\\": \\\"chalk\\\", \\\"version\\\": \\\"1.0.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.auto.value\\\", \\\"artifact\\\": \\\"auto-value-annotations\\\", \\\"version\\\": \\\"1.6.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"annotations\\\", \\\"version\\\": \\\"3.0.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.code.findbugs\\\", \\\"artifact\\\": \\\"jsr305\\\", \\\"version\\\": \\\"3.0.2\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.errorprone\\\", \\\"artifact\\\": \\\"error_prone_annotations\\\", \\\"version\\\": \\\"2.3.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.googlejavaformat\\\", \\\"artifact\\\": \\\"google-java-format\\\", \\\"version\\\": \\\"1.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava\\\", \\\"version\\\": \\\"23.6.1-jre\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.protobuf\\\", \\\"artifact\\\": \\\"protobuf-java\\\", \\\"version\\\": \\\"3.8.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.google.jimfs\\\", \\\"artifact\\\": \\\"jimfs\\\", \\\"version\\\": \\\"1.1\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"com.squareup.okio\\\", \\\"artifact\\\": \\\"okio\\\", \\\"version\\\": \\\"1.15.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"net.sf.jopt-simple\\\", \\\"artifact\\\": \\\"jopt-simple\\\", \\\"version\\\": \\\"5.0.4\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.hamcrest\\\", \\\"artifact\\\": \\\"java-hamcrest\\\", \\\"version\\\": \\\"2.0.0.0\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-compiler\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-library\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.scala-lang\\\", \\\"artifact\\\": \\\"scala-reflect\\\", \\\"version\\\": \\\"2.12.6\\\", \\\"neverlink\\\": false }\",\n                        \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-api\\\", \\\"version\\\": \\\"1.7.25\\\", \\\"neverlink\\\": false }\"\n                    ],\n                    \"fail_on_missing_checksum\": True,\n                    \"fetch_sources\": True,\n                    \"use_unsafe_shared_cache\": False,\n                    \"excluded_artifacts\": [\n                        \"{ \\\"group\\\": \\\"com.google.guava\\\", \\\"artifact\\\": \\\"guava-jdk5\\\" }\",\n                        \"{ \\\"group\\\": \\\"org.slf4j\\\", \\\"artifact\\\": \\\"slf4j-log4j12\\\" }\"\n                    ],\n                    \"generate_compat_repositories\": False,\n                    \"version_conflict_policy\": \"pinned\",\n                    \"maven_install_json\": \"//3rdparty:maven-install.json\",\n                    \"override_targets\": {},\n                    \"strict_visibility\": False,\n                    \"resolve_timeout\": 600\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'ch_qos_logback_logback_classic_1_2_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:3:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:3:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"ch_qos_logback_logback_classic_1_2_3\",\n            \"sha256\": \"fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"3fc3436e8e50a46181e5d1ed3016cd8e996b1c304d71c52e0c57fcea1653d5b9\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"fb53f8539e7fcb8f093a56e138112056ec1dc809ebb020b59d8a36a5ebac37e0\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"ch_qos_logback_logback_classic_1_2_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'ch_qos_logback_logback_classic_jar_sources_1_2_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:9:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:9:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"ch_qos_logback_logback_classic_jar_sources_1_2_3\",\n            \"sha256\": \"480cb5e99519271c9256716d4be1a27054047435ff72078d9deae5c6a19f63eb\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"f18ba6f5bc6abb96b1cbda008ed41d32e126e3af007b0caf0c323177a8f8b977\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"480cb5e99519271c9256716d4be1a27054047435ff72078d9deae5c6a19f63eb\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"ch_qos_logback_logback_classic_jar_sources_1_2_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'ch_qos_logback_logback_core_1_2_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:15:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:15:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"ch_qos_logback_logback_core_1_2_3\",\n            \"sha256\": \"5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ea3149756395932dbdbfe343fc4ec65a2afff840b015ed417adbe08c4527d5b1\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"5946d837fe6f960c02a53eda7a6926ecc3c758bbdd69aa453ee429f858217f22\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"ch_qos_logback_logback_core_1_2_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'ch_qos_logback_logback_core_jar_sources_1_2_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:21:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:21:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"ch_qos_logback_logback_core_jar_sources_1_2_3\",\n            \"sha256\": \"1f69b6b638ec551d26b10feeade5a2b77abe347f9759da95022f0da9a63a9971\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ebf1fa1e22d432db00781de58f686d75d8a5f92733bf951d5b800e28847ba624\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1f69b6b638ec551d26b10feeade5a2b77abe347f9759da95022f0da9a63a9971\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"ch_qos_logback_logback_core_jar_sources_1_2_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_annotations_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:27:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:27:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_annotations_2_9_6\",\n            \"sha256\": \"4d1ce5575ad53bee8caae4c15016878e2c3ea47276e675a35ea6bdde3bb0e653\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"a076758197a873aa8cbd4d65958892e0c73cb233e26c88a4f53fe72478fed717\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"4d1ce5575ad53bee8caae4c15016878e2c3ea47276e675a35ea6bdde3bb0e653\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_annotations_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_annotations_jar_sources_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:33:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:33:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_annotations_jar_sources_2_9_6\",\n            \"sha256\": \"022ac1b2a3ff015f380d0f8e89b7c08488605f8201227ce9c6a9bb92107414cc\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"727f71841e4bf273205ee292073ad9556b76942a8bb0ac37d1b5d86d41eb6152\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"022ac1b2a3ff015f380d0f8e89b7c08488605f8201227ce9c6a9bb92107414cc\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.6/jackson-annotations-2.9.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_annotations_jar_sources_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_core_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:39:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:39:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_core_2_9_6\",\n            \"sha256\": \"fab8746aedd6427788ee390ea04d438ec141bff7eb3476f8bdd5d9110fb2718a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ac5af1f1cc3d34dedde52e6c54e439dc3303f8f49fb51e91922cc1c455fe8384\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"fab8746aedd6427788ee390ea04d438ec141bff7eb3476f8bdd5d9110fb2718a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_core_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_core_jar_sources_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:45:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:45:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_core_jar_sources_2_9_6\",\n            \"sha256\": \"8aff614c41c49fb02ac7444dc1a9518f1f9fc5b7c744ada59825225858a0336d\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c887fd5539f7a4979d00984c2cb4eb12f30483256be535086f5001478fc898b9\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"8aff614c41c49fb02ac7444dc1a9518f1f9fc5b7c744ada59825225858a0336d\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.6/jackson-core-2.9.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_core_jar_sources_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_databind_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:51:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:51:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_databind_2_9_6\",\n            \"sha256\": \"657e3e979446d61f88432b9c50f0ccd9c1fe4f1c822d533f5572e4c0d172a125\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c4b4a058e160d77d9e4f57dfdc381832edbe86d1c36a74fbd9d93df749e4e2c4\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"657e3e979446d61f88432b9c50f0ccd9c1fe4f1c822d533f5572e4c0d172a125\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_databind_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_core_jackson_databind_jar_sources_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:57:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:57:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_core_jackson_databind_jar_sources_2_9_6\",\n            \"sha256\": \"0f867b675f1f641d06517c2c2232b1fcc21bc6d81a5d09cb8fc6102b13d7e881\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"68e579776943cee6025d1d3eb951d9e4bc4f81b609831e978db9462e905ca4de\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"0f867b675f1f641d06517c2c2232b1fcc21bc6d81a5d09cb8fc6102b13d7e881\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.6/jackson-databind-2.9.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_core_jackson_databind_jar_sources_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:63:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:63:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_9_6\",\n            \"sha256\": \"0450f6b1e60c2cc710533c24351adc29db102cb114246321379c54b8a8253ad8\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"cdc55a1a13267f4af428f2eec14960a060a54eb26b06328c7f18dc90f3e4e3cd\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"0450f6b1e60c2cc710533c24351adc29db102cb114246321379c54b8a8253ad8\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_jar_sources_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:69:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:69:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_jar_sources_2_9_6\",\n            \"sha256\": \"f5895b5b5dd2279f0a6ed72c4073e7e4bb5ed74ed55358324a62a70cfc723988\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"5829677489342b64292f6db32b10047717d7c3ac56f1a6a4fe5294b047f42866\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f5895b5b5dd2279f0a6ed72c4073e7e4bb5ed74ed55358324a62a70cfc723988\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.9.6/jackson-dataformat-yaml-2.9.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_jar_sources_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_datatype_jackson_datatype_guava_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:75:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:75:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_datatype_jackson_datatype_guava_2_9_6\",\n            \"sha256\": \"a94fbdd2ac6e7e1726593f018dcfd6a54d5d8b524b145bcb6819615431f0f3ea\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"d160d6bb312ed6a61edaed24923e1b7447569e3f16b614752cae80eef4954f4e\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a94fbdd2ac6e7e1726593f018dcfd6a54d5d8b524b145bcb6819615431f0f3ea\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_datatype_jackson_datatype_guava_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_fasterxml_jackson_datatype_jackson_datatype_guava_jar_sources_2_9_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:81:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:81:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_fasterxml_jackson_datatype_jackson_datatype_guava_jar_sources_2_9_6\",\n            \"sha256\": \"b5c17d6172da492ff6e4a6766d04136b9cbdd618a0bbb04f061950d258e93d7b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"279bcca1a945e3bd4bd88e430ab2a12bd4113dc2c82410c9be866aab9b1ea16f\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"b5c17d6172da492ff6e4a6766d04136b9cbdd618a0bbb04f061950d258e93d7b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-guava/2.9.6/jackson-datatype-guava-2.9.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_fasterxml_jackson_datatype_jackson_datatype_guava_jar_sources_2_9_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_metaconfig_core_2_12_0_4_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:87:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:87:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_metaconfig_core_2_12_0_4_0\",\n            \"sha256\": \"6bd25189a12b1edbf1511c44783e611a9edd738841901b9243803ff9c696c78a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"aea681cf6a4d17efe238b31c2d2eccb7bf36a877bdc71e54dd422bef0d523a35\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"6bd25189a12b1edbf1511c44783e611a9edd738841901b9243803ff9c696c78a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_metaconfig_core_2_12_0_4_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_metaconfig_core_2_12_jar_sources_0_4_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:93:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:93:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_metaconfig_core_2_12_jar_sources_0_4_0\",\n            \"sha256\": \"f9ca3ea8723afe3e9213a5664cf8bc3b212d3e7cf861f1d0a96621d89270d532\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"eccda16e6c9c51730b261d5f35b8125cc5b8a10fe95f89271bd7e97d3e3eaace\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f9ca3ea8723afe3e9213a5664cf8bc3b212d3e7cf861f1d0a96621d89270d532\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-core_2.12/0.4.0/metaconfig-core_2.12-0.4.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_metaconfig_core_2_12_jar_sources_0_4_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_metaconfig_typesafe_config_2_12_0_4_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:99:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:99:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_metaconfig_typesafe_config_2_12_0_4_0\",\n            \"sha256\": \"e8f6f38738a96c4c09dbf5e5c687000556a0920b63e8e4fc19bb6cbc6d8dcfbd\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"97a98e6132160003ae59e7fb3bc9470838c972d4b76601dff587b9edaeca6900\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"e8f6f38738a96c4c09dbf5e5c687000556a0920b63e8e4fc19bb6cbc6d8dcfbd\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_metaconfig_typesafe_config_2_12_0_4_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_metaconfig_typesafe_config_2_12_jar_sources_0_4_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:105:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:105:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_metaconfig_typesafe_config_2_12_jar_sources_0_4_0\",\n            \"sha256\": \"3c0bf468508f0f0f6b82c0ce72c996235eb7568f996fb1d1b1253c548e018170\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"0ebe3a013cba46635d4b4b6b41011d020a310143f289508203eb13bd5303bb13\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"3c0bf468508f0f0f6b82c0ce72c996235eb7568f996fb1d1b1253c548e018170\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/metaconfig-typesafe-config_2.12/0.4.0/metaconfig-typesafe-config_2.12-0.4.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_metaconfig_typesafe_config_2_12_jar_sources_0_4_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_scalafmt_core_2_12_1_5_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:111:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:111:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_scalafmt_core_2_12_1_5_1\",\n            \"sha256\": \"808649767cdba809b8e239e3c0f7195f09e04de06dd6281f3471e90a8ca79f55\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"16a53b63880184bd83c13e59a5895d410ae632aebc14337d76ff35f512700cab\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"808649767cdba809b8e239e3c0f7195f09e04de06dd6281f3471e90a8ca79f55\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_scalafmt_core_2_12_1_5_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_geirsson_scalafmt_core_2_12_jar_sources_1_5_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:117:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:117:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_geirsson_scalafmt_core_2_12_jar_sources_1_5_1\",\n            \"sha256\": \"0a996288cf2b0955e74a8ec6aef6714b4b468b42cef717d2c922f59482822b7c\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"d674c85a60e475b108f7db5877a6ffe588ac39f7f84a92d1d08e5a6cf27bdb4b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"0a996288cf2b0955e74a8ec6aef6714b4b468b42cef717d2c922f59482822b7c\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/geirsson/scalafmt-core_2.12/1.5.1/scalafmt-core_2.12-1.5.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_geirsson_scalafmt_core_2_12_jar_sources_1_5_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_github_tomas_langer_chalk_1_0_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:123:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:123:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_github_tomas_langer_chalk_1_0_2\",\n            \"sha256\": \"1bbdca6337a288e28a650e50d0121cfad69065b4ef9ff19c2974e5e78cee5eb6\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"3a23cb9d6f5795ed5b3b42d3b880416221f466605258bcb66048f1cbcb7e070e\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1bbdca6337a288e28a650e50d0121cfad69065b4ef9ff19c2974e5e78cee5eb6\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_github_tomas_langer_chalk_1_0_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_github_tomas_langer_chalk_jar_sources_1_0_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:129:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:129:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_github_tomas_langer_chalk_jar_sources_1_0_2\",\n            \"sha256\": \"a7bedcd7adb4a934682c78c527c6b15e9c06d976e614a1f1185c559a3019870c\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"9e8cdfbbfd919687116ca453e2787cfe034f639646468b61a20361916fd21766\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a7bedcd7adb4a934682c78c527c6b15e9c06d976e614a1f1185c559a3019870c\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/github/tomas-langer/chalk/1.0.2/chalk-1.0.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_github_tomas_langer_chalk_jar_sources_1_0_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_auto_value_auto_value_1_6_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:147:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:147:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_auto_value_auto_value_1_6_2\",\n            \"sha256\": \"edbe65a5c53e3d4f5cb10b055d4884ae7705a7cd697be4b2a5d8427761b8ba12\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"4200631ad9af4d98c257b7dba7c0cfd94ff04c0fbc7486afa0cb0c4e5caf37c4\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"edbe65a5c53e3d4f5cb10b055d4884ae7705a7cd697be4b2a5d8427761b8ba12\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_auto_value_auto_value_1_6_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_auto_value_auto_value_annotations_1_6_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:135:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:135:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_auto_value_auto_value_annotations_1_6_2\",\n            \"sha256\": \"b48b04ddba40e8ac33bf036f06fc43995fc5084bd94bdaace807ce27d3bea3fb\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"35e4dd7a28561bbc47fa96cb5b147d5b6cb7775e12c5e6a92bb42b202cef5b69\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"b48b04ddba40e8ac33bf036f06fc43995fc5084bd94bdaace807ce27d3bea3fb\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_auto_value_auto_value_annotations_1_6_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_auto_value_auto_value_annotations_jar_sources_1_6_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:141:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:141:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_auto_value_auto_value_annotations_jar_sources_1_6_2\",\n            \"sha256\": \"9cca705ffd696133e998e289defcc332be5196dbcb6813fcd317b14775a24612\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"cb4be4f7c08b3528ccf1af8ac1b7885305630e38d4da2945fc65fed8e0eb73c6\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"9cca705ffd696133e998e289defcc332be5196dbcb6813fcd317b14775a24612\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value-annotations/1.6.2/auto-value-annotations-1.6.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_auto_value_auto_value_annotations_jar_sources_1_6_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_auto_value_auto_value_jar_sources_1_6_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:153:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:153:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_auto_value_auto_value_jar_sources_1_6_2\",\n            \"sha256\": \"d9959ea21834ec9e213378d719b2a7f705efca9b01667cd28718a47683dc273a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"e2cca79e3edbf4816a71f6ee266f23b3f14147704cd18e9f875e1ad48dd4d66a\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d9959ea21834ec9e213378d719b2a7f705efca9b01667cd28718a47683dc273a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/auto/value/auto-value/1.6.2/auto-value-1.6.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_auto_value_auto_value_jar_sources_1_6_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_code_findbugs_annotations_3_0_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:159:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:159:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_code_findbugs_annotations_3_0_1\",\n            \"sha256\": \"6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"f34d9ff1020e03eed49cf428df79932d4cbd55b33a62f8bc0bcf6e561b6b7955\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"6b47ff0a6de0ce17cbedc3abb0828ca5bce3009d53ea47b3723ff023c4742f79\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_code_findbugs_annotations_3_0_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_code_findbugs_annotations_jar_sources_3_0_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:165:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:165:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_code_findbugs_annotations_jar_sources_3_0_1\",\n            \"sha256\": \"1a64119813ca80a6ebef047190a4f62ee4ad44afe786e92d698ba7aa730ffc0a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"557c285363ba997580a368d7649f2c2fc671ce737279dc5702d43ddad09c235d\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1a64119813ca80a6ebef047190a4f62ee4ad44afe786e92d698ba7aa730ffc0a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/annotations/3.0.1/annotations-3.0.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_code_findbugs_annotations_jar_sources_3_0_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_code_findbugs_jsr305_3_0_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:171:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:171:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_code_findbugs_jsr305_3_0_2\",\n            \"sha256\": \"766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"6a5c7fde85b94005915130e782ba1a041c30df30b4e5f4e78005ea81c40673c1\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_code_findbugs_jsr305_3_0_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_code_findbugs_jsr305_jar_sources_3_0_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:177:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:177:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_code_findbugs_jsr305_jar_sources_3_0_2\",\n            \"sha256\": \"1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"255dc124453c837e461b2a774333816afdad9ec571f75906b2f399825748ea64\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1c9e85e272d0708c6a591dc74828c71603053b48cc75ae83cce56912a2aa063b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_code_findbugs_jsr305_jar_sources_3_0_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_errorprone_error_prone_annotations_2_3_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:183:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:183:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_errorprone_error_prone_annotations_2_3_1\",\n            \"sha256\": \"10a5949aa0f95c8de4fd47edfe20534d2acefd8c224f8afea1f607e112816120\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"7e2772e239f510cacbc49f454102934fde7bada186659d5957a685636d2cda08\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"10a5949aa0f95c8de4fd47edfe20534d2acefd8c224f8afea1f607e112816120\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_errorprone_error_prone_annotations_2_3_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_errorprone_error_prone_annotations_jar_sources_2_3_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:189:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:189:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_errorprone_error_prone_annotations_jar_sources_2_3_1\",\n            \"sha256\": \"0fe3db0b12e624afd1dbeba85421fa58c362f9caf55f1869d7683b8744c53616\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"391a39d772c1fd4c8cf46f0817854d20c583ef5d5a0cd2db17a6554f57a7b7b7\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"0fe3db0b12e624afd1dbeba85421fa58c362f9caf55f1869d7683b8744c53616\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.3.1/error_prone_annotations-2.3.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_errorprone_error_prone_annotations_jar_sources_2_3_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_errorprone_javac_shaded_9_181_r4173_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:195:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:195:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_errorprone_javac_shaded_9_181_r4173_1\",\n            \"sha256\": \"ae6f663a36bac1855076072afd650cdc0076b08f8129fbff504e73e74095a021\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"fb63634a17fc7e054260a425b7b29edd4b299694f45c9929615daf5e2bb8cb64\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"ae6f663a36bac1855076072afd650cdc0076b08f8129fbff504e73e74095a021\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_errorprone_javac_shaded_9_181_r4173_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_errorprone_javac_shaded_jar_sources_9_181_r4173_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:201:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:201:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_errorprone_javac_shaded_jar_sources_9_181_r4173_1\",\n            \"sha256\": \"b6487292a495b2c44f6975b797f8eb80290609a995c792519ee116c71fc1663b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"4b3a3ef71ec50376737d08a6bed6900c8f90c7c7df89301c470dd2adef4444d0\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"b6487292a495b2c44f6975b797f8eb80290609a995c792519ee116c71fc1663b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/errorprone/javac-shaded/9%2B181-r4173-1/javac-shaded-9%2B181-r4173-1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_errorprone_javac_shaded_jar_sources_9_181_r4173_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_googlejavaformat_google_java_format_1_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:207:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:207:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_googlejavaformat_google_java_format_1_6\",\n            \"sha256\": \"fdb408913d3120ab4dd7e631f5857fe8b1bda2fba4dcc26b253dd6eab5b48020\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c67ee466d60e682174aed418fa83f89cd04d28d9d78f80a109956c4315858f3c\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"fdb408913d3120ab4dd7e631f5857fe8b1bda2fba4dcc26b253dd6eab5b48020\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_googlejavaformat_google_java_format_1_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_googlejavaformat_google_java_format_jar_sources_1_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:213:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:213:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_googlejavaformat_google_java_format_jar_sources_1_6\",\n            \"sha256\": \"3ce9a79d45b8208f63ee5b6dce80780caf2796dd3bac8d6346bbe52327690ee5\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"12c6ee97571b3c946d4ee202dc7a2ac6cd33d78a24e2a6e636e15482eb3c31ba\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"3ce9a79d45b8208f63ee5b6dce80780caf2796dd3bac8d6346bbe52327690ee5\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/googlejavaformat/google-java-format/1.6/google-java-format-1.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_googlejavaformat_google_java_format_jar_sources_1_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_guava_guava_23_6_1_jre' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:219:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:219:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_guava_guava_23_6_1_jre\",\n            \"sha256\": \"9987480e19dba2cc76984c96926a7e9ffbfed3c3fc4ee57e2ae040721d61d5df\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"b8c1f8973a20bc2babd4d5e4b587738f74cb975663a1de089d0efcd122738b1d\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"9987480e19dba2cc76984c96926a7e9ffbfed3c3fc4ee57e2ae040721d61d5df\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_guava_guava_23_6_1_jre\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_guava_guava_jar_sources_23_6_1_jre' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:225:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:225:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_guava_guava_jar_sources_23_6_1_jre\",\n            \"sha256\": \"36a4a0c6bc406a961eff0771a5edaf01a6ea3512192bba3d1f5ac64d395acca0\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c1f4fd0dc482ff1dff0f5d77ef600087c72cf7f0093f3c20ae4be8746196f112\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"36a4a0c6bc406a961eff0771a5edaf01a6ea3512192bba3d1f5ac64d395acca0\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/guava/guava/23.6.1-jre/guava-23.6.1-jre-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_guava_guava_jar_sources_23_6_1_jre\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_j2objc_j2objc_annotations_1_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:231:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:231:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_j2objc_j2objc_annotations_1_1\",\n            \"sha256\": \"2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8610e196b70a10e504731434a669548a6feb7d5ed2c26402be538b5e9821e6df\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_j2objc_j2objc_annotations_1_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_j2objc_j2objc_annotations_jar_sources_1_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:237:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:237:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_j2objc_j2objc_annotations_jar_sources_1_1\",\n            \"sha256\": \"2cd9022a77151d0b574887635cdfcdf3b78155b602abc89d7f8e62aba55cfb4f\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"37522a41d43c2a4b3b436d1de6d82015f4f8d5ce58bd5bda55c82e8a475e6bf3\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2cd9022a77151d0b574887635cdfcdf3b78155b602abc89d7f8e62aba55cfb4f\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_j2objc_j2objc_annotations_jar_sources_1_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_jimfs_jimfs_1_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:243:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:243:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_jimfs_jimfs_1_1\",\n            \"sha256\": \"c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"59b2570bc81dd0c6b80188fffca6ca8ec6c8063be895e75fafc21375bcfb3567\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c4828e28d7c0a930af9387510b3bada7daa5c04d7c25a75c7b8b081f1c257ddd\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_jimfs_jimfs_1_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_jimfs_jimfs_jar_sources_1_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:249:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:249:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_jimfs_jimfs_jar_sources_1_1\",\n            \"sha256\": \"adebb53450d2313d6927db5155c9be85336109e8f8c0af106ec2a30bc37e64ce\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"07e2b42e31c5e95c48dec7d6ad8d53bcab720a968a9264e872fa9db11594a182\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"adebb53450d2313d6927db5155c9be85336109e8f8c0af106ec2a30bc37e64ce\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/jimfs/jimfs/1.1/jimfs-1.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_jimfs_jimfs_jar_sources_1_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_protobuf_protobuf_java_3_8_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:255:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:255:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_protobuf_protobuf_java_3_8_0\",\n            \"sha256\": \"94ba90a869ddad07eb49afaa8f39e676c2554b5b1c417ad9e1188257e79be60f\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"9987ebdf7afbd4ea8e0e34d98a805115630a3968906a174d4f0070b292550d5b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"94ba90a869ddad07eb49afaa8f39e676c2554b5b1c417ad9e1188257e79be60f\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_protobuf_protobuf_java_3_8_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_protobuf_protobuf_java_jar_sources_3_8_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:261:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:261:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_protobuf_protobuf_java_jar_sources_3_8_0\",\n            \"sha256\": \"1982b2a96f752cf0d64c3066b5e9e4016f9cc825591f3d1a9c40a017203fcb2f\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"95e5698900be675d21423ed13206e62c48c7ad559b64525da33a2ceae96f79ee\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1982b2a96f752cf0d64c3066b5e9e4016f9cc825591f3d1a9c40a017203fcb2f\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.8.0/protobuf-java-3.8.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_google_protobuf_protobuf_java_jar_sources_3_8_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_fastparse_2_12_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:279:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:279:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_fastparse_2_12_0_4_2\",\n            \"sha256\": \"43f57787179e902137167ba107e665272a0764f1addb3f452136f15bad5b21a8\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"fd7fc18cc60bf4cca7bac96824e5477e1a44331cc3153b017475804aef801d48\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"43f57787179e902137167ba107e665272a0764f1addb3f452136f15bad5b21a8\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_fastparse_2_12_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_fastparse_2_12_jar_sources_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:285:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:285:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_fastparse_2_12_jar_sources_0_4_2\",\n            \"sha256\": \"8e242feb1704b8483969c726056c46e5ba2bb659c943d336ae3948b3a507707d\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"474168be31a656bbca138b24d6c5b718f3ff939f68a9dd1b9ae3175f37e0ab18\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"8e242feb1704b8483969c726056c46e5ba2bb659c943d336ae3948b3a507707d\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_fastparse_2_12_jar_sources_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_fastparse_utils_2_12_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:267:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:267:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_fastparse_utils_2_12_0_4_2\",\n            \"sha256\": \"0da40d3c89d3f7009ac2f6e32b11d8cdd379b40a2f09ce08669b4695f558e101\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"3f8555d6546c840a7e60cf8e79c96c530e27a918ca80918f4281ebd762d260f4\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"0da40d3c89d3f7009ac2f6e32b11d8cdd379b40a2f09ce08669b4695f558e101\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_fastparse_utils_2_12_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_fastparse_utils_2_12_jar_sources_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:273:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:273:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_fastparse_utils_2_12_jar_sources_0_4_2\",\n            \"sha256\": \"1eb227bc9659ce84b40d2d258c9ea3e8b8246f362241f43422266e05cabc902d\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"4ce03b2daa80f1dbf6c5c27a902a25d3bf646b8e08a7fd8560f1daaa70755f6f\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"1eb227bc9659ce84b40d2d258c9ea3e8b8246f362241f43422266e05cabc902d\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_fastparse_utils_2_12_jar_sources_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_scalaparse_2_12_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:291:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:291:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_scalaparse_2_12_0_4_2\",\n            \"sha256\": \"148c9ea912639404faef7c8e607260787384ae9a2973120c71e440f78c3b5082\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"cb968b1f3e5e5c2698234523639f973e991988895bb81aa4990e55c68b7c5101\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"148c9ea912639404faef7c8e607260787384ae9a2973120c71e440f78c3b5082\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_scalaparse_2_12_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_scalaparse_2_12_jar_sources_0_4_2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:297:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:297:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_scalaparse_2_12_jar_sources_0_4_2\",\n            \"sha256\": \"faeabf3ef43474e8eb45a704a2490e1aa1fb7dfc49cfb8e458d1f51318a55bb9\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"34d05a94d0909cf26126c5b83bdb2cbb027b7a857e2c41a2754bc1ceea60ab41\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"faeabf3ef43474e8eb45a704a2490e1aa1fb7dfc49cfb8e458d1f51318a55bb9\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/scalaparse_2.12/0.4.2/scalaparse_2.12-0.4.2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_scalaparse_2_12_jar_sources_0_4_2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_sourcecode_2_12_0_1_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:303:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:303:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_sourcecode_2_12_0_1_3\",\n            \"sha256\": \"3ba3aca0d46496a3304798db8c8d79eedbdf29846b988a0a65207cc13408deca\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"80542b0fa3e08b33cef8589278508d369cea9253c988772d58561019ee063cfd\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"3ba3aca0d46496a3304798db8c8d79eedbdf29846b988a0a65207cc13408deca\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_sourcecode_2_12_0_1_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_lihaoyi_sourcecode_2_12_jar_sources_0_1_3' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:309:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:309:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_lihaoyi_sourcecode_2_12_jar_sources_0_1_3\",\n            \"sha256\": \"5e20864291d9ef92841282606d99434b7af938619689218180717cb72851f7da\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"d4554b94e32bd8cc82e2bca653001f96f067b1bc2f9f4f831205efbcac6a74e7\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"5e20864291d9ef92841282606d99434b7af938619689218180717cb72851f7da\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_lihaoyi_sourcecode_2_12_jar_sources_0_1_3\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_squareup_okio_okio_1_15_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:315:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:315:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_squareup_okio_okio_1_15_0\",\n            \"sha256\": \"693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"56489bc931bb9647376bc9377bbb9adb2d5f2b524dede2f5f94279a97f7d900b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"693fa319a7e8843300602b204023b7674f106ebcb577f2dd5807212b66118bd2\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_squareup_okio_okio_1_15_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_squareup_okio_okio_jar_sources_1_15_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:321:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:321:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_squareup_okio_okio_jar_sources_1_15_0\",\n            \"sha256\": \"a15f2a8344920da8a68eb4a59089eae1adde5bac1805875ca381cb5b3d96e912\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ed1915034d1e261f7854f6d3c52d0c780f50e5ef7ec6b20d3a79b6396037ef65\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a15f2a8344920da8a68eb4a59089eae1adde5bac1805875ca381cb5b3d96e912\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.15.0/okio-1.15.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_squareup_okio_okio_jar_sources_1_15_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_trueaccord_lenses_lenses_2_12_0_4_10' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:327:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:327:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_trueaccord_lenses_lenses_2_12_0_4_10\",\n            \"sha256\": \"2c4d6218d81eb682927ddccb386c8c3577e4cdf098130fc25bae4c9f9d312e16\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"57fb054eb287c502a73382fe8fb524d89412e897d8e77d786178830ba990926c\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2c4d6218d81eb682927ddccb386c8c3577e4cdf098130fc25bae4c9f9d312e16\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_trueaccord_lenses_lenses_2_12_0_4_10\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_trueaccord_lenses_lenses_2_12_jar_sources_0_4_10' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:333:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:333:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_trueaccord_lenses_lenses_2_12_jar_sources_0_4_10\",\n            \"sha256\": \"ee3896f145d5ac5ea9966a702fe30641caa1670bf6a5f74376ba75fd2273c558\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"06ecdaa138f9368ebb4ee3c0dc61d189479b521403ff721e9df473c067ccc333\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"ee3896f145d5ac5ea9966a702fe30641caa1670bf6a5f74376ba75fd2273c558\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.10/lenses_2.12-0.4.10-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_trueaccord_lenses_lenses_2_12_jar_sources_0_4_10\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_trueaccord_scalapb_scalapb_runtime_2_12_0_6_0_pre2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:339:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:339:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_trueaccord_scalapb_scalapb_runtime_2_12_0_6_0_pre2\",\n            \"sha256\": \"07bc456f05bb654db0cae9361bd6240d5892f3066534fd5e46b6922f2cbdb1c7\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"794442eaf02585ffba74f155c838b1b271a803a1afd40378bea73fc335de8da7\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"07bc456f05bb654db0cae9361bd6240d5892f3066534fd5e46b6922f2cbdb1c7\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_trueaccord_scalapb_scalapb_runtime_2_12_0_6_0_pre2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_trueaccord_scalapb_scalapb_runtime_2_12_jar_sources_0_6_0_pre2' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:345:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:345:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_trueaccord_scalapb_scalapb_runtime_2_12_jar_sources_0_6_0_pre2\",\n            \"sha256\": \"d14e202e4583e9c5b8808e090284a7bf362feab80918846f039b744d169a7ecc\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"a984e4c6a75b9bbfd88ba4a83cf4930ede16d03e405878b97ca3acc70ceab964\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d14e202e4583e9c5b8808e090284a7bf362feab80918846f039b744d169a7ecc\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0-pre2/scalapb-runtime_2.12-0.6.0-pre2-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_trueaccord_scalapb_scalapb_runtime_2_12_jar_sources_0_6_0_pre2\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_typesafe_config_1_2_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:351:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:351:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_typesafe_config_1_2_1\",\n            \"sha256\": \"c160fbd78f51a0c2375a794e435ce2112524a6871f64d0331895e9e26ee8b9ee\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"d9bf7306f26373fd36412dc34fc226dc11a2319f37118d6c05198236525e59d9\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c160fbd78f51a0c2375a794e435ce2112524a6871f64d0331895e9e26ee8b9ee\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_typesafe_config_1_2_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_typesafe_config_jar_sources_1_2_1' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:357:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:357:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"com_typesafe_config_jar_sources_1_2_1\",\n            \"sha256\": \"78a8a2728fd5236b24a9bed7c253729887848ff5d3af5f9ef02e85be5fc43bba\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"59f325d5826622201e44e88641aa827eea0f12f077c4899fea6a049d3ab69fea\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"78a8a2728fd5236b24a9bed7c253729887848ff5d3af5f9ef02e85be5fc43bba\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/typesafe/config/1.2.1/config-1.2.1-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"com_typesafe_config_jar_sources_1_2_1\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'net_jcip_jcip_annotations_1_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:363:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:363:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"net_jcip_jcip_annotations_1_0\",\n            \"sha256\": \"be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"199be8dc5cd5499baaa23bc404202bedae324bc25b03222cad2f6f5efc3e9aa2\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"be5805392060c71474bf6c9a67a099471274d30b83eef84bfc4e0889a4f1dcc0\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"net_jcip_jcip_annotations_1_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'net_jcip_jcip_annotations_jar_sources_1_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:369:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:369:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"net_jcip_jcip_annotations_jar_sources_1_0\",\n            \"sha256\": \"e3ad6ae439e3cf8a25372de838efaa1a95f8ef9b5053d5d94fafe89c8c09814e\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"799f18d946110d59644b7b77b65200134d84abae4bc4df49092aace147fb4c17\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"e3ad6ae439e3cf8a25372de838efaa1a95f8ef9b5053d5d94fafe89c8c09814e\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"net_jcip_jcip_annotations_jar_sources_1_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'net_sf_jopt_simple_jopt_simple_5_0_4' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:375:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:375:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"net_sf_jopt_simple_jopt_simple_5_0_4\",\n            \"sha256\": \"df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8c1424dcc93d40e908cb4fb3e8a92c89acabced041ed999745ddae05a5b075ec\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"df26cc58f235f477db07f753ba5a3ab243ebe5789d9f89ecf68dd62ea9a66c28\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"net_sf_jopt_simple_jopt_simple_5_0_4\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'net_sf_jopt_simple_jopt_simple_jar_sources_5_0_4' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:381:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:381:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"net_sf_jopt_simple_jopt_simple_jar_sources_5_0_4\",\n            \"sha256\": \"06b283801a5a94ef697b7f2c79a048c4e2f848b3daddda61cab74d882bdd97a5\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8c1fa0ca16c9a8109a8b9dfa59761d264e1b207b475da449f3c794f313e4f2ed\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"06b283801a5a94ef697b7f2c79a048c4e2f848b3daddda61cab74d882bdd97a5\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"net_sf_jopt_simple_jopt_simple_jar_sources_5_0_4\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_checkerframework_checker_compat_qual_2_0_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:387:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:387:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_checkerframework_checker_compat_qual_2_0_0\",\n            \"sha256\": \"a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"6183f4e5d5e8b83586c2b2e9c78e50f19d72bd90059d12b3bf2d7bdda467119b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a40b2ce6d8551e5b90b1bf637064303f32944d61b52ab2014e38699df573941b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_checkerframework_checker_compat_qual_2_0_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_checkerframework_checker_compat_qual_jar_sources_2_0_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:393:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:393:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_checkerframework_checker_compat_qual_jar_sources_2_0_0\",\n            \"sha256\": \"8e287b29415fac2c0b9eb04f30224d9d2ad33c23b7a7ce8d23d1f197f0eb5074\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"f751bff698e8a305f8d1519dcf390a363553112b7a90e568b1cdd94ce3b76674\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"8e287b29415fac2c0b9eb04f30224d9d2ad33c23b7a7ce8d23d1f197f0eb5074\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/checkerframework/checker-compat-qual/2.0.0/checker-compat-qual-2.0.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_checkerframework_checker_compat_qual_jar_sources_2_0_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_codehaus_mojo_animal_sniffer_annotations_1_14' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:399:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:399:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_codehaus_mojo_animal_sniffer_annotations_1_14\",\n            \"sha256\": \"2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"57ee2d5421cc9bbef7da1268403a266dc7729ef14d977c4746ba4c5e364da0dd\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2068320bd6bad744c3673ab048f67e30bef8f518996fa380033556600669905d\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_codehaus_mojo_animal_sniffer_annotations_1_14\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_codehaus_mojo_animal_sniffer_annotations_jar_sources_1_14' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:405:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:405:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_codehaus_mojo_animal_sniffer_annotations_jar_sources_1_14\",\n            \"sha256\": \"d821ae1f706db2c1b9c88d4b7b0746b01039dac63762745ef3fe5579967dd16b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ac7a3469f03e2381eca6ee3b836e565c4d9d6456580f7f580b102a2c600b616a\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d821ae1f706db2c1b9c88d4b7b0746b01039dac63762745ef3fe5579967dd16b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.14/animal-sniffer-annotations-1.14-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_codehaus_mojo_animal_sniffer_annotations_jar_sources_1_14\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_hawtjni_hawtjni_runtime_1_11' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:411:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:411:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_hawtjni_hawtjni_runtime_1_11\",\n            \"sha256\": \"cd702bfb80bc859ff9f89bfbcc5f3709dfbb2817160f1254c5f486e1e582af3b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c623a788f1599526391850f5c333d1bc8baac8750376f95c5e5c835a8bd7567e\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"cd702bfb80bc859ff9f89bfbcc5f3709dfbb2817160f1254c5f486e1e582af3b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_hawtjni_hawtjni_runtime_1_11\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_hawtjni_hawtjni_runtime_jar_sources_1_11' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:417:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:417:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_hawtjni_hawtjni_runtime_jar_sources_1_11\",\n            \"sha256\": \"2d9b0be42c6a5cb82e6d3fe412210e38b1e52c8a3cecb8f4d0640b5e6ec8486d\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"61f9e061432216cb040662746a706585d1c03cc66feedc062d88509b79bf017a\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2d9b0be42c6a5cb82e6d3fe412210e38b1e52c8a3cecb8f4d0640b5e6ec8486d\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/hawtjni/hawtjni-runtime/1.11/hawtjni-runtime-1.11-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_hawtjni_hawtjni_runtime_jar_sources_1_11\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_jansi_jansi_native_1_5' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:423:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:423:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_jansi_jansi_native_1_5\",\n            \"sha256\": \"068c02045c1ee9d8eb86a45a18d677d736b2fa7fbf6061413cc6abf839a4e651\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"bfba347f5f50125b3b45cd4b3b062bd90657da592aa63405e7a21baaf2d5d76e\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"068c02045c1ee9d8eb86a45a18d677d736b2fa7fbf6061413cc6abf839a4e651\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_jansi_jansi_native_1_5\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_jansi_jansi_native_jar_sources_1_5' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:429:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:429:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_jansi_jansi_native_jar_sources_1_5\",\n            \"sha256\": \"d9aaeafcbbd0eb14da32596466968459f826f43cdb3af592816086d1d12baf28\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8d6d6a0aac72a3302f660e1bdcb6daa396214e70981bffdb0a4f7017b37929ff\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d9aaeafcbbd0eb14da32596466968459f826f43cdb3af592816086d1d12baf28\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_jansi_jansi_native_jar_sources_1_5\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_jansi_jansi_native_jar_windows32_1_5' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:435:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:435:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_jansi_jansi_native_jar_windows32_1_5\",\n            \"sha256\": \"4b36697f65369a5a05680d31d0fcd90d77c541b81c0fdef9e3eee5743c5df528\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows32.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"58855776a5045f44e1a3f17fc725af0128199ae3bf95cee1b9d14e30f1966940\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"4b36697f65369a5a05680d31d0fcd90d77c541b81c0fdef9e3eee5743c5df528\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows32.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_jansi_jansi_native_jar_windows32_1_5\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_fusesource_jansi_jansi_native_jar_windows64_1_5' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:441:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:441:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_fusesource_jansi_jansi_native_jar_windows64_1_5\",\n            \"sha256\": \"cac96b26e85836334fc523df00b80197c4ba2e1f71337793ccbb6a587afa88f6\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows64.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ea512a454c89b8523579e054932dc4bc76ceb018b2604574cbd605bb0e7d2e28\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"cac96b26e85836334fc523df00b80197c4ba2e1f71337793ccbb6a587afa88f6\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/fusesource/jansi/jansi-native/1.5/jansi-native-1.5-windows64.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_fusesource_jansi_jansi_native_jar_windows64_1_5\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_hamcrest_java_hamcrest_2_0_0_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:447:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:447:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_hamcrest_java_hamcrest_2_0_0_0\",\n            \"sha256\": \"09bc7044d57a497846e2480250e7a72ff3ae58efefc8c3a9ceecd0f4e092851c\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"e9f7275e332eb6bb7f6f4281d8fd6f5d500a038eaed18404f023effe91dcec2d\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"09bc7044d57a497846e2480250e7a72ff3ae58efefc8c3a9ceecd0f4e092851c\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_hamcrest_java_hamcrest_2_0_0_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_hamcrest_java_hamcrest_jar_sources_2_0_0_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:453:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:453:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_hamcrest_java_hamcrest_jar_sources_2_0_0_0\",\n            \"sha256\": \"2ad13be4d6d61cd4cc2bdafb434b7214d1f489b1cc9426335dbfc55329eca675\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"1ada9fbbdbb539fc1798358fd07bb577c6457de4f68a804e057cc57ded72d55c\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2ad13be4d6d61cd4cc2bdafb434b7214d1f489b1cc9426335dbfc55329eca675\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/hamcrest/java-hamcrest/2.0.0.0/java-hamcrest-2.0.0.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_hamcrest_java_hamcrest_jar_sources_2_0_0_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_modules_scala_xml_2_12_1_0_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:459:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:459:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_modules_scala_xml_2_12_1_0_6\",\n            \"sha256\": \"7cc3b6ceb56e879cb977e8e043f4bfe2e062f78795efd7efa09f85003cb3230a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"1e915f3e6e2b55aabdfe4dca792f00d55ca9fe3b9c49099efb2cf31d7f2c1eba\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"7cc3b6ceb56e879cb977e8e043f4bfe2e062f78795efd7efa09f85003cb3230a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_modules_scala_xml_2_12_1_0_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_modules_scala_xml_2_12_jar_sources_1_0_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:465:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:465:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_modules_scala_xml_2_12_jar_sources_1_0_6\",\n            \"sha256\": \"a7e8aac79394df396afda98b35537791809d815ce15ab2224f7d31e50c753922\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"afc7b4ba953bbe7fb40ed2c72c1172e658af35763f65338d644f65dd792b87c0\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a7e8aac79394df396afda98b35537791809d815ce15ab2224f7d31e50c753922\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.0.6/scala-xml_2.12-1.0.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_modules_scala_xml_2_12_jar_sources_1_0_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_compiler_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:471:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:471:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_compiler_2_12_6\",\n            \"sha256\": \"3023b07cc02f2b0217b2c04f8e636b396130b3a8544a8dfad498a19c3e57a863\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"f2c9ce0fa006fc575d605b447fedff687df7a3a3abe5986664c5bd5acbdb7f29\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"3023b07cc02f2b0217b2c04f8e636b396130b3a8544a8dfad498a19c3e57a863\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_compiler_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_compiler_jar_sources_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:477:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:477:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_compiler_jar_sources_2_12_6\",\n            \"sha256\": \"d3e9d7cc7b50c89676481959cebbf231275863c9f74102de28250dc92ffd4a6f\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ef6ec9864af11ca8920898f90d07affd81fe99e7978af48a2db7f1462e469050\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d3e9d7cc7b50c89676481959cebbf231275863c9f74102de28250dc92ffd4a6f\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.12.6/scala-compiler-2.12.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_compiler_jar_sources_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_library_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:483:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:483:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_library_2_12_6\",\n            \"sha256\": \"f81d7144f0ce1b8123335b72ba39003c4be2870767aca15dd0888ba3dab65e98\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"847bdb42008f6412eaff63cb8a3c8e5c538233cc9da9864f81060dd6cdf633f1\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f81d7144f0ce1b8123335b72ba39003c4be2870767aca15dd0888ba3dab65e98\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_library_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_library_jar_sources_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:489:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:489:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_library_jar_sources_2_12_6\",\n            \"sha256\": \"e1b905fd404095bcff7e26e750c396c7b4b193044f60555147142d24427aeaf6\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"d842d0f4517c5efbf528b77c2c790fa239cc98af2c6caa910a8fd28ffc812173\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"e1b905fd404095bcff7e26e750c396c7b4b193044f60555147142d24427aeaf6\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.12.6/scala-library-2.12.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_library_jar_sources_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_reflect_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:495:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:495:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_reflect_2_12_6\",\n            \"sha256\": \"ffa70d522fc9f9deec14358aa674e6dd75c9dfa39d4668ef15bb52f002ce99fa\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"aa28d377d60a38d4b12d8deff4f4995a76a914dba289f201ce32bbdd5a1e0972\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"ffa70d522fc9f9deec14358aa674e6dd75c9dfa39d4668ef15bb52f002ce99fa\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_reflect_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scala_lang_scala_reflect_jar_sources_2_12_6' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:501:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:501:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scala_lang_scala_reflect_jar_sources_2_12_6\",\n            \"sha256\": \"f30b396d82485470a6f9b1aef955cb70426f8c0cd72b00c37cb68b363f4939de\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"bed33d6dc32b59ace1ab949aa34b5027980a5fe87691ece1ea084fa126412c88\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f30b396d82485470a6f9b1aef955cb70426f8c0cd72b00c37cb68b363f4939de\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.12.6/scala-reflect-2.12.6-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scala_lang_scala_reflect_jar_sources_2_12_6\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_common_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:507:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:507:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_common_2_12_1_7_0\",\n            \"sha256\": \"87445943f1dff51a063b95660ed0bf5b3f2d28a9260aa7c38cfec7d1b684e826\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8137196ac40ec5c64337da299f96785fec54dd670ba9e8d984907fd06db4241b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"87445943f1dff51a063b95660ed0bf5b3f2d28a9260aa7c38cfec7d1b684e826\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_common_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_common_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:513:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:513:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_common_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"c8137b4a06ad56c736a00b605447dd19849b84185f93f824d7ee8d729a44b193\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"307611b86edd06e6668258ebc48399d91ff1ef60a082577e870bcf97ee6c764d\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c8137b4a06ad56c736a00b605447dd19849b84185f93f824d7ee8d729a44b193\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/common_2.12/1.7.0/common_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_common_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_dialects_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:519:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:519:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_dialects_2_12_1_7_0\",\n            \"sha256\": \"14cb63ebdae50463ef00dd4c3c07dfcb1b5aa7a30b3fc744046010a568f023e8\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"668f71a94175edbb2617c9c0a56174142442faafce3766f0fb0e221de8d56e2b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"14cb63ebdae50463ef00dd4c3c07dfcb1b5aa7a30b3fc744046010a568f023e8\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_dialects_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_dialects_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:525:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:525:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_dialects_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"405bede88f1ab3bc57d2740508e5a1975d0d578959919a21f37c38c185219a13\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8b14d492fb5651f9d9152e930ac7477967c72ba3bc3d695cd5254a5d740b8524\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"405bede88f1ab3bc57d2740508e5a1975d0d578959919a21f37c38c185219a13\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/dialects_2.12/1.7.0/dialects_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_dialects_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_inline_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:531:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:531:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_inline_2_12_1_7_0\",\n            \"sha256\": \"34af09bc3946dc00a276b54f790ffa2ba6ce40fc695dfa3cac74af2ea4416788\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"841c1331d7e01065508801fb2462c2193d3b780b3610c093fbb94fb0092865b2\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"34af09bc3946dc00a276b54f790ffa2ba6ce40fc695dfa3cac74af2ea4416788\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_inline_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_inline_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:537:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:537:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_inline_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"d4b82276c7c2c865bbac98212b872d76865692a08353542a05b6bdfd17dce51b\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"12feeea0f3d2ca2f4b50cf4c19c982f953277bf117d021712a775e35a6f12d48\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d4b82276c7c2c865bbac98212b872d76865692a08353542a05b6bdfd17dce51b\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/inline_2.12/1.7.0/inline_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_inline_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_inputs_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:543:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:543:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_inputs_2_12_1_7_0\",\n            \"sha256\": \"2f8582bba795c8997ea44210fb9c32b97e8e617336f10f01a3f85d206af2efe6\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"13e769e6e66d3f03f8c7e32fc3eab21ed36f5582cc39648ce6aa4f3278b53c5e\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"2f8582bba795c8997ea44210fb9c32b97e8e617336f10f01a3f85d206af2efe6\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_inputs_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_inputs_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:549:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:549:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_inputs_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"00876d6018a9e6d4ebe04452f8359ccd1404ffae614013b4f91a545a0509f2da\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"b13fdbf9fc7eac8a68fe15538db8641b751d880c0591f26f7b7659c9ff29bad7\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"00876d6018a9e6d4ebe04452f8359ccd1404ffae614013b4f91a545a0509f2da\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/inputs_2.12/1.7.0/inputs_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_inputs_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_io_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:555:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:555:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_io_2_12_1_7_0\",\n            \"sha256\": \"7884cf043a6ad61b36352e42a4c6b4c9eace83ebaed54d8072725710009ddc58\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"77c789e4d038b9490ce9da5c0974e75d00200194b1eb29174c0ab3de52eabbcc\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"7884cf043a6ad61b36352e42a4c6b4c9eace83ebaed54d8072725710009ddc58\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_io_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_io_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:561:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:561:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_io_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"e503cd739e2f496a499899e43490c5924bb32f64242b281c48f1e563f2c9efcf\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"2a489e207de5067b6703bc0af4d39832b151441c95ec1b34e6f64981cefab447\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"e503cd739e2f496a499899e43490c5924bb32f64242b281c48f1e563f2c9efcf\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_io_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_parsers_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:567:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:567:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_parsers_2_12_1_7_0\",\n            \"sha256\": \"fc1625dfe09ec108fda13d39f681a6499876f55f4763ddb124d3275e7084d340\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"2e8341242030a3f0cf1554982b89bc1201251c482176c7f1479051fa52fa1062\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"fc1625dfe09ec108fda13d39f681a6499876f55f4763ddb124d3275e7084d340\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_parsers_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_parsers_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:573:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:573:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_parsers_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"35513d8a11716937a0e43ab805984491ebef58a873019b451a027c942fa8d720\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"8826da2e4446a733c4301252bc3ce1985fb8725d7470bd49d3d8c62d7f4f86d2\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"35513d8a11716937a0e43ab805984491ebef58a873019b451a027c942fa8d720\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/parsers_2.12/1.7.0/parsers_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_parsers_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_quasiquotes_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:579:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:579:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_quasiquotes_2_12_1_7_0\",\n            \"sha256\": \"d3a7144f273dfdeaa21afdfaf437739fd3622855d82d0eead37c3236be25b8fc\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"95466762570b978934aac35d7c03eea2f1bfabc8eacbdb95c1f6f98dd881a57d\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"d3a7144f273dfdeaa21afdfaf437739fd3622855d82d0eead37c3236be25b8fc\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_quasiquotes_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_quasiquotes_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:585:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:585:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_quasiquotes_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"48f8b9630aafb13e16f67ffc937db012036a334911528b95ebcab59f66e584fa\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"1bdf562c17b594b3092ea32eb3fa9e7df394fc82822ea93aad67c409045e38b0\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"48f8b9630aafb13e16f67ffc937db012036a334911528b95ebcab59f66e584fa\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/quasiquotes_2.12/1.7.0/quasiquotes_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_quasiquotes_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_scalameta_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:591:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:591:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_scalameta_2_12_1_7_0\",\n            \"sha256\": \"a981b3a6180912bd33f1ec92bb3a880c452f1eb491f9e456e80d4ac527a7f7c2\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"049920a5b5ecdca8fbc7e5b4f650aa6d7638baf340155e988e91b2cb9f1e589f\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"a981b3a6180912bd33f1ec92bb3a880c452f1eb491f9e456e80d4ac527a7f7c2\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_scalameta_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_scalameta_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:597:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:597:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_scalameta_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"6c8205a7f415a28d3cb047dd22a2fcfc037331a9ebd7d44691aac7f3a0d15128\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"838d4e36291d27858130d29bd098af9a6d184c755113a166561c85ae814832d4\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"6c8205a7f415a28d3cb047dd22a2fcfc037331a9ebd7d44691aac7f3a0d15128\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/scalameta_2.12/1.7.0/scalameta_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_scalameta_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_semantic_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:603:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:603:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_semantic_2_12_1_7_0\",\n            \"sha256\": \"475788dca2cb7f3b53391c65b23885b8bbb8c3c8c932bce178e8e185ba4d012a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"9af552d2d3c6105f6271971760d6d0c8fcc7bc64ac5fef33e5d97f2a4fa6cb64\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"475788dca2cb7f3b53391c65b23885b8bbb8c3c8c932bce178e8e185ba4d012a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_semantic_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_semantic_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:609:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:609:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_semantic_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"f8ec633ab3a6bea4dc5075b5fd27eece0f773e33d77b06241fb88ff444f507c2\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"21873f6f2a26232195173bce3fa772e578a74e5cc1b54d410654774eb871e821\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f8ec633ab3a6bea4dc5075b5fd27eece0f773e33d77b06241fb88ff444f507c2\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/semantic_2.12/1.7.0/semantic_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_semantic_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_tokenizers_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:615:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:615:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_tokenizers_2_12_1_7_0\",\n            \"sha256\": \"5057840f62c90eb4cba66b97f6b8815a8f757ba214481668cbc3998b01b0cb7a\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"3ac3a9fc56dd2562646e914c8bcefd9a7928124ef79296a2df2f60a0a4e736e9\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"5057840f62c90eb4cba66b97f6b8815a8f757ba214481668cbc3998b01b0cb7a\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_tokenizers_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_tokenizers_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:621:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:621:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_tokenizers_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"8e051f7627820d3dd39b290209202dac3b558dd0dc6dcd50d936683fc6e05701\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"a84986725e89ef5a120b0a895cf93b25405800d5bad2b85e152906cb6a2f8a5b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"8e051f7627820d3dd39b290209202dac3b558dd0dc6dcd50d936683fc6e05701\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/tokenizers_2.12/1.7.0/tokenizers_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_tokenizers_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_tokens_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:627:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:627:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_tokens_2_12_1_7_0\",\n            \"sha256\": \"8dc25ef61eb7ef76e5ecf25f897e8d835f10d6451c33a0fe3b2fd2b31c7d7bf8\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"089b4e940dc144eafc9a54b9fb04b97e9953b16cca985a478c9c40fb70dd5b6f\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"8dc25ef61eb7ef76e5ecf25f897e8d835f10d6451c33a0fe3b2fd2b31c7d7bf8\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_tokens_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_tokens_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:633:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:633:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_tokens_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"c7facec3faa933e583bd8db27262ac4b8efaba33795c9b8528f51efa3c37bc1f\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"c45ca3294600f57edc1048e5be66d70cbffe7289d7d6e1510d38c4e59ce188fa\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c7facec3faa933e583bd8db27262ac4b8efaba33795c9b8528f51efa3c37bc1f\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/tokens_2.12/1.7.0/tokens_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_tokens_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_transversers_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:639:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:639:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_transversers_2_12_1_7_0\",\n            \"sha256\": \"b45fe5f0284ec77737778831685f43d5b434121a88c488ff1ec6e82e53eb5536\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"a52dfbcf5bc3ac4fe1b561c9bbf65f870d799795e0a5e0925982dd5935aadbc4\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"b45fe5f0284ec77737778831685f43d5b434121a88c488ff1ec6e82e53eb5536\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_transversers_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_transversers_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:645:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:645:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_transversers_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"f1b75119ecb65bc29989370b8b82da4945112dfd1c216ead5e4c7253638f8539\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"73b9b8db3308a8fb962bf80020fefc98caf78fe48dbf9c3832215ed1f0d2502b\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"f1b75119ecb65bc29989370b8b82da4945112dfd1c216ead5e4c7253638f8539\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/transversers_2.12/1.7.0/transversers_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_transversers_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_trees_2_12_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:651:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:651:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_trees_2_12_1_7_0\",\n            \"sha256\": \"68e115214da0ff306e5bd7e1333680dddb51f72fd5783fe8a686c829208ef84c\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"03b2aff0672481abc950eb2373081854ba450929f59632b8d95d388c21d26dbd\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"68e115214da0ff306e5bd7e1333680dddb51f72fd5783fe8a686c829208ef84c\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_trees_2_12_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_scalameta_trees_2_12_jar_sources_1_7_0' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:657:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:657:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_scalameta_trees_2_12_jar_sources_1_7_0\",\n            \"sha256\": \"c76f8f57ec044ac22be27dc76063ce836d2358cb011e913b5e1f36efb2bdc792\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"ed01b1f4618e7bd3c246e14bb00f226e70967ca5af1f4c7892e99f257ae19004\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c76f8f57ec044ac22be27dc76063ce836d2358cb011e913b5e1f36efb2bdc792\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalameta/trees_2.12/1.7.0/trees_2.12-1.7.0-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_scalameta_trees_2_12_jar_sources_1_7_0\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_slf4j_slf4j_api_1_7_25' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:663:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:663:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_slf4j_slf4j_api_1_7_25\",\n            \"sha256\": \"18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"cc9da678276135a14c030e65c324a3d71999b8f74ef06435ff949e3aebbb5005\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_slf4j_slf4j_api_1_7_25\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_slf4j_slf4j_api_jar_sources_1_7_25' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:669:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:669:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_slf4j_slf4j_api_jar_sources_1_7_25\",\n            \"sha256\": \"c4bc93180a4f0aceec3b057a2514abe04a79f06c174bbed910a2afb227b79366\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"1b39aa322f5656174b62ba11b6ae0ffefd3c917928072a2d6c002dbcfcd8183c\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"c4bc93180a4f0aceec3b057a2514abe04a79f06c174bbed910a2afb227b79366\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_slf4j_slf4j_api_jar_sources_1_7_25\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_yaml_snakeyaml_1_18' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:675:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:675:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_yaml_snakeyaml_1_18\",\n            \"sha256\": \"81bf4c29d0275dace75fadb5febf5384553422816256023efa83b2b15a9ced60\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"80a54cdbde16231390004d19a68e125a59acd0e4f9835b5a1505f9350b34fa9a\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"81bf4c29d0275dace75fadb5febf5384553422816256023efa83b2b15a9ced60\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_yaml_snakeyaml_1_18\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_yaml_snakeyaml_jar_sources_1_18' which is a http_file (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:372:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:681:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/maven/defs.bzl:681:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:26:1\",\n        \"original_attributes\": {\n            \"name\": \"org_yaml_snakeyaml_jar_sources_1_18\",\n            \"sha256\": \"76a7b11358ea5ed67e49de701566a785c25c9ba8b86fca62ce0840838b81f4e7\",\n            \"urls\": [\n                \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18-sources.jar\"\n            ],\n            \"netrc\": \"../maven/netrc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\",\n                \"output_tree_hash\": \"78c890f43cf622148326bed760a6b3da679eaca3ee9836698895b5aea5e4f7c5\",\n                \"attributes\": {\n                    \"executable\": False,\n                    \"downloaded_file_path\": \"downloaded\",\n                    \"sha256\": \"76a7b11358ea5ed67e49de701566a785c25c9ba8b86fca62ce0840838b81f4e7\",\n                    \"urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/yaml/snakeyaml/1.18/snakeyaml-1.18-sources.jar\"\n                    ],\n                    \"netrc\": \"../maven/netrc\",\n                    \"name\": \"org_yaml_snakeyaml_jar_sources_1_18\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/com_google_protobuf/protobuf_java\",\n            \"actual\": \"@com_google_protobuf//:protobuf_java\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/com_google_protobuf/protobuf_java\\\", actual = \\\"@com_google_protobuf//:protobuf_java\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/parser_combinators\",\n            \"actual\": \"@io_bazel_rules_scala_scala_parser_combinators//:io_bazel_rules_scala_scala_parser_combinators\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/parser_combinators\\\", actual = \\\"@io_bazel_rules_scala_scala_parser_combinators//:io_bazel_rules_scala_scala_parser_combinators\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/scala_compiler\",\n            \"actual\": \"@io_bazel_rules_scala_scala_compiler//:io_bazel_rules_scala_scala_compiler\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/scala_compiler\\\", actual = \\\"@io_bazel_rules_scala_scala_compiler//:io_bazel_rules_scala_scala_compiler\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/scala_library\",\n            \"actual\": \"@io_bazel_rules_scala_scala_library//:io_bazel_rules_scala_scala_library\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/scala_library\\\", actual = \\\"@io_bazel_rules_scala_scala_library//:io_bazel_rules_scala_scala_library\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/scala_reflect\",\n            \"actual\": \"@io_bazel_rules_scala_scala_reflect//:io_bazel_rules_scala_scala_reflect\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/scala_reflect\\\", actual = \\\"@io_bazel_rules_scala_scala_reflect//:io_bazel_rules_scala_scala_reflect\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/scala_xml\",\n            \"actual\": \"@io_bazel_rules_scala_scala_xml//:io_bazel_rules_scala_scala_xml\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/scala_xml\\\", actual = \\\"@io_bazel_rules_scala_scala_xml//:io_bazel_rules_scala_scala_xml\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scalatest/scalatest\",\n            \"actual\": \"@io_bazel_rules_scala//scala/scalatest:scalatest\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scalatest/scalatest\\\", actual = \\\"@io_bazel_rules_scala//scala/scalatest:scalatest\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"spotify_bazel_tools/dependency/buildtools/buildifier\",\n            \"actual\": \"@io_bazel_buildtools//buildifier:buildifier\"\n        },\n        \"native\": \"bind(name = \\\"spotify_bazel_tools/dependency/buildtools/buildifier\\\", actual = \\\"@io_bazel_buildtools//buildifier:buildifier\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"spotify_bazel_tools/dependency/buildtools/buildozer\",\n            \"actual\": \"@io_bazel_buildtools//buildozer:buildozer\"\n        },\n        \"native\": \"bind(name = \\\"spotify_bazel_tools/dependency/buildtools/buildozer\\\", actual = \\\"@io_bazel_buildtools//buildozer:buildozer\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"spotify_bazel_tools/dependency/buildtools/unused-deps\",\n            \"actual\": \"@io_bazel_buildtools//unused_deps:unused_deps\"\n        },\n        \"native\": \"bind(name = \\\"spotify_bazel_tools/dependency/buildtools/unused-deps\\\", actual = \\\"@io_bazel_buildtools//unused_deps:unused_deps\\\")\"\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'bazel_skylib' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:67:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"bazel_skylib\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz\",\n                \"https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz\"\n            ],\n            \"sha256\": \"97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"9d894c3050dd6f85c271d712b7a79dbcc4057c553a9183d7dc791ff208326f9f\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz\",\n                        \"https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz\"\n                    ],\n                    \"sha256\": \"97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"bazel_skylib\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_github_gogo_protobuf' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:142:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"com_github_gogo_protobuf\",\n            \"remote\": \"https://github.com/gogo/protobuf\",\n            \"commit\": \"0ca988a254f991240804bf9821f3450d87ccbb1b\",\n            \"shallow_since\": \"1567336231 +0200\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:com_github_gogo_protobuf-gazelle.patch\"\n            ],\n            \"patch_args\": [\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"5677daeab99dea4f4e097db2ced589e207022ddc3388152cdf522ef8b99c8ebb\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/gogo/protobuf\",\n                    \"commit\": \"0ca988a254f991240804bf9821f3450d87ccbb1b\",\n                    \"shallow_since\": \"1567336231 +0200\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:com_github_gogo_protobuf-gazelle.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"com_github_gogo_protobuf\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_github_golang_protobuf' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:111:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"com_github_golang_protobuf\",\n            \"remote\": \"https://github.com/golang/protobuf\",\n            \"commit\": \"6c65a5562fc06764971b7c5d05c76c75e84bdbf7\",\n            \"shallow_since\": \"1562005321 -0700\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:com_github_golang_protobuf-gazelle.patch\",\n                \"@io_bazel_rules_go//third_party:com_github_golang_protobuf-extras.patch\"\n            ],\n            \"patch_args\": [\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"aca04c5faaa717b75279c2217a466da946ddd8e574f68d43800ea5da756547a8\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/golang/protobuf\",\n                    \"commit\": \"6c65a5562fc06764971b7c5d05c76c75e84bdbf7\",\n                    \"shallow_since\": \"1562005321 -0700\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:com_github_golang_protobuf-gazelle.patch\",\n                        \"@io_bazel_rules_go//third_party:com_github_golang_protobuf-extras.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"com_github_golang_protobuf\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_github_mwitkow_go_proto_validators' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:128:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"com_github_mwitkow_go_proto_validators\",\n            \"remote\": \"https://github.com/mwitkow/go-proto-validators\",\n            \"commit\": \"d70d97bb65387105677cb21cee7318e4feb7b4b0\",\n            \"shallow_since\": \"1568733758 +0100\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:com_github_mwitkow_go_proto_validators-gazelle.patch\"\n            ],\n            \"patch_args\": [\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"555c9d5165f8874921f2d23cdd3f95cea3fc0635fef6e84653a59bfbc9222677\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/mwitkow/go-proto-validators\",\n                    \"commit\": \"d70d97bb65387105677cb21cee7318e4feb7b4b0\",\n                    \"shallow_since\": \"1568733758 +0100\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:com_github_mwitkow_go_proto_validators-gazelle.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"com_github_mwitkow_go_proto_validators\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'go_googleapis' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:179:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"go_googleapis\",\n            \"remote\": \"https://github.com/googleapis/googleapis\",\n            \"commit\": \"ceb8e2fb12f048cc94caae532ef0b4cf026a78f3\",\n            \"shallow_since\": \"1570228637 -0700\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:go_googleapis-deletebuild.patch\",\n                \"@io_bazel_rules_go//third_party:go_googleapis-directives.patch\",\n                \"@io_bazel_rules_go//third_party:go_googleapis-gazelle.patch\"\n            ],\n            \"patch_args\": [\n                \"-E\",\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"6417424df0a9abc606431c585ff6a4c8e545b8970f360a38f56c663a9cf4aedd\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/googleapis/googleapis\",\n                    \"commit\": \"ceb8e2fb12f048cc94caae532ef0b4cf026a78f3\",\n                    \"shallow_since\": \"1570228637 -0700\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:go_googleapis-deletebuild.patch\",\n                        \"@io_bazel_rules_go//third_party:go_googleapis-directives.patch\",\n                        \"@io_bazel_rules_go//third_party:go_googleapis-gazelle.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-E\",\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"go_googleapis\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_go//go/private:sdk.bzl%_go_download_sdk\",\n        \"definition_information\": \"Call stack for the definition of repository 'go_sdk' which is a _go_download_sdk (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/sdk.bzl:80:20):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/sdk.bzl:93:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/sdk.bzl:93:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/sdk.bzl:261:13\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:36:1\",\n        \"original_attributes\": {\n            \"name\": \"go_sdk\",\n            \"version\": \"1.13.4\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_go//go/private:sdk.bzl%_go_download_sdk\",\n                \"output_tree_hash\": \"b9830b9233ada5c2975f6f40150281ce51611aed5480975cd37c2267e0c172ad\",\n                \"attributes\": {\n                    \"name\": \"go_sdk\",\n                    \"version\": \"1.13.4\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_go//proto:gogo.bzl%gogo_special_proto\",\n        \"definition_information\": \"Call stack for the definition of repository 'gogo_special_proto' which is a gogo_special_proto (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/proto/gogo.bzl:34:22):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:154:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"gogo_special_proto\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_go//proto:gogo.bzl%gogo_special_proto\",\n                \"output_tree_hash\": \"f352a36f8c81aa0ab46e41070dd0d0e3a7165247b30fcc13e56d6edab7986410\",\n                \"attributes\": {\n                    \"name\": \"gogo_special_proto\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_go//go/private:compat/compat_repo.bzl%_go_rules_compat\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_go_compat' which is a _go_rules_compat (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/compat/compat_repo.bzl:62:20):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/compat/compat_repo.bzl:79:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/compat/compat_repo.bzl:79:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:45:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_go_compat\",\n            \"impl\": \"@io_bazel_rules_go//go/private:compat/v25.bzl\",\n            \"platforms_build_file\": \"@io_bazel_rules_go//go/private:compat/BUILD.platforms.v28.bzl\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_go//go/private:compat/compat_repo.bzl%_go_rules_compat\",\n                \"output_tree_hash\": \"e0573f26ddab08d4adcd57da048f88a9eb7ddbb9d6c7dbc783f9bb9c5dbf4084\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_go_compat\",\n                    \"impl\": \"@io_bazel_rules_go//go/private:compat/v25.bzl\",\n                    \"platforms_build_file\": \"@io_bazel_rules_go//go/private:compat/BUILD.platforms.v28.bzl\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_go//go/private:nogo.bzl%go_register_nogo\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_nogo' which is a go_register_nogo (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/nogo.bzl:33:20):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:197:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_nogo\",\n            \"nogo\": \"@io_bazel_rules_go//:default_nogo\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_go//go/private:nogo.bzl%go_register_nogo\",\n                \"output_tree_hash\": \"3934c1fa667e35c1bdda975bca7059807ede9fc322e1daa480ab77939375185b\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_nogo\",\n                    \"nogo\": \"@io_bazel_rules_go//:default_nogo\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_golang_google_genproto' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:163:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"org_golang_google_genproto\",\n            \"remote\": \"https://github.com/google/go-genproto\",\n            \"commit\": \"c459b9ce5143dd819763d9329ff92a8e35e61bd9\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:org_golang_google_genproto-gazelle.patch\"\n            ],\n            \"patch_args\": [\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"622e932d0c21a9980caf2efb04c89ba70a8e8937be4c104fc3e42a82ab1099c5\",\n                \"attributes\": {\n                    \"remote\": \"https://github.com/google/go-genproto\",\n                    \"commit\": \"c459b9ce5143dd819763d9329ff92a8e35e61bd9\",\n                    \"shallow_since\": \"1570051008 -0600\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:org_golang_google_genproto-gazelle.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"org_golang_google_genproto\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n        \"definition_information\": \"Call stack for the definition of repository 'org_golang_x_tools' which is a git_repository (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/git.bzl:195:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:78:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"org_golang_x_tools\",\n            \"remote\": \"https://go.googlesource.com/tools\",\n            \"commit\": \"c9f9432ec4b21a28c4d47f172513698febb68e9c\",\n            \"shallow_since\": \"1570239844 +0000\",\n            \"patches\": [\n                \"@io_bazel_rules_go//third_party:org_golang_x_tools-deletegopls.patch\",\n                \"@io_bazel_rules_go//third_party:org_golang_x_tools-gazelle.patch\",\n                \"@io_bazel_rules_go//third_party:org_golang_x_tools-extras.patch\"\n            ],\n            \"patch_args\": [\n                \"-p1\"\n            ]\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\",\n                \"output_tree_hash\": \"cd7d6d130744293ae21bf1741235b287fe71d2ed561ecd32fb3b9bcd6edcf328\",\n                \"attributes\": {\n                    \"remote\": \"https://go.googlesource.com/tools\",\n                    \"commit\": \"c9f9432ec4b21a28c4d47f172513698febb68e9c\",\n                    \"shallow_since\": \"1570239844 +0000\",\n                    \"init_submodules\": False,\n                    \"verbose\": False,\n                    \"strip_prefix\": \"\",\n                    \"patches\": [\n                        \"@io_bazel_rules_go//third_party:org_golang_x_tools-deletegopls.patch\",\n                        \"@io_bazel_rules_go//third_party:org_golang_x_tools-gazelle.patch\",\n                        \"@io_bazel_rules_go//third_party:org_golang_x_tools-extras.patch\"\n                    ],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p1\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"name\": \"org_golang_x_tools\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'platforms' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_go/go/private/repositories.bzl:53:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:34:1\",\n        \"original_attributes\": {\n            \"name\": \"platforms\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip\",\n                \"https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip\"\n            ],\n            \"sha256\": \"a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5\",\n            \"strip_prefix\": \"platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"3f09ade14d0260f51eeee677488da48148304648a7afc09cec387a43184a15ae\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip\",\n                        \"https://github.com/bazelbuild/platforms/archive/441afe1bfdadd6236988e9cac159df6b5a9f5a98.zip\"\n                    ],\n                    \"sha256\": \"a07fe5e75964361885db725039c2ba673f0ee0313d971ae4f50c9b18cd28b0b5\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"platforms-441afe1bfdadd6236988e9cac159df6b5a9f5a98\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"platforms\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'com_google_protobuf' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:134:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:134:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"com_google_protobuf\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/b4f193788c9f0f05d7e0879ea96cd738630e5d51.tar.gz\",\n                \"https://github.com/protocolbuffers/protobuf/archive/b4f193788c9f0f05d7e0879ea96cd738630e5d51.tar.gz\"\n            ],\n            \"sha256\": \"d82eb0141ad18e98de47ed7ed415daabead6d5d1bef1b8cccb6aa4d108a9008f\",\n            \"strip_prefix\": \"protobuf-b4f193788c9f0f05d7e0879ea96cd738630e5d51\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"f9b503d3dee552f6c84c12024d43a3a1767fb6d862c349af70b94aabe59d3901\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/b4f193788c9f0f05d7e0879ea96cd738630e5d51.tar.gz\",\n                        \"https://github.com/protocolbuffers/protobuf/archive/b4f193788c9f0f05d7e0879ea96cd738630e5d51.tar.gz\"\n                    ],\n                    \"sha256\": \"d82eb0141ad18e98de47ed7ed415daabead6d5d1bef1b8cccb6aa4d108a9008f\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"protobuf-b4f193788c9f0f05d7e0879ea96cd738630e5d51\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"com_google_protobuf\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/commons_io/commons_io\",\n            \"actual\": \"@scalac_rules_commons_io//jar:jar\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/commons_io/commons_io\\\", actual = \\\"@scalac_rules_commons_io//jar:jar\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala/dependency/scala/guava\",\n            \"actual\": \"@io_bazel_rules_scala_guava//:io_bazel_rules_scala_guava\"\n        },\n        \"native\": \"bind(name = \\\"io_bazel_rules_scala/dependency/scala/guava\\\", actual = \\\"@io_bazel_rules_scala_guava//:io_bazel_rules_scala_guava\\\")\"\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_guava' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:125:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_guava\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/com/google/guava/guava/21.0/guava-21.0.jar\"\n            ],\n            \"artifact_sha256\": \"972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"6ef56ae5f61de38b3a5a4b3f374ccb15ae0e03f5a47b700921a4ec6f6bacd34f\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_guava\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/com/google/guava/guava/21.0/guava-21.0.jar\"\n                    ],\n                    \"artifact_sha256\": \"972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scala_compiler' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_cross_version.bzl:67:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:64:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scala_compiler\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.11.12/scala-compiler-2.11.12.jar\"\n            ],\n            \"artifact_sha256\": \"3e892546b72ab547cb77de4d840bcfd05c853e73390fed7370a8f19acb0735a0\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"fe0887f46d07c56984d3b47398c98bf28d05ee8e247405dec79fc3aa85d047fe\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scala_compiler\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-compiler/2.11.12/scala-compiler-2.11.12.jar\"\n                    ],\n                    \"artifact_sha256\": \"3e892546b72ab547cb77de4d840bcfd05c853e73390fed7370a8f19acb0735a0\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scala_library' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_cross_version.bzl:60:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:64:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scala_library\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12.jar\"\n            ],\n            \"artifact_sha256\": \"0b3d6fd42958ee98715ba2ec5fe221f4ca1e694d7c981b0ae0cd68e97baf6dce\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"fa8c24b2cc3d8a5280ae2b4976858f1f7d243c9a61f9dde137422455d9b6c239\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scala_library\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.11.12/scala-library-2.11.12.jar\"\n                    ],\n                    \"artifact_sha256\": \"0b3d6fd42958ee98715ba2ec5fe221f4ca1e694d7c981b0ae0cd68e97baf6dce\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scala_parser_combinators' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:104:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scala_parser_combinators\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.4/scala-parser-combinators_2.11-1.0.4.jar\"\n            ],\n            \"artifact_sha256\": \"0dfaafce29a9a245b0a9180ec2c1073d2bd8f0330f03a9f1f6a74d1bc83f62d6\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"c74ea016eedac1132111c2a4080de6bcd0f343ee9cf89a723dcfb258a2317389\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scala_parser_combinators\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.11/1.0.4/scala-parser-combinators_2.11-1.0.4.jar\"\n                    ],\n                    \"artifact_sha256\": \"0dfaafce29a9a245b0a9180ec2c1073d2bd8f0330f03a9f1f6a74d1bc83f62d6\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scala_reflect' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_cross_version.bzl:74:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:64:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scala_reflect\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.11.12/scala-reflect-2.11.12.jar\"\n            ],\n            \"artifact_sha256\": \"6ba385b450a6311a15c918cf8688b9af9327c6104f0ecbd35933cfcd3095fe04\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"83c9e5028d365e9d3e5e05faf09473dcc5400e1cc0316a097b94f074378b5063\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scala_reflect\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/scala-reflect/2.11.12/scala-reflect-2.11.12.jar\"\n                    ],\n                    \"artifact_sha256\": \"6ba385b450a6311a15c918cf8688b9af9327c6104f0ecbd35933cfcd3095fe04\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scala_xml' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:93:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scala_xml\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.11/1.0.5/scala-xml_2.11-1.0.5.jar\"\n            ],\n            \"artifact_sha256\": \"767e11f33eddcd506980f0ff213f9d553a6a21802e3be1330345f62f7ee3d50f\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"1aaa0b9e33e3d1aa0ae89ac6f88c14d81ebcb3e9697201148f25ab38ad491232\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scala_xml\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scala-lang/modules/scala-xml_2.11/1.0.5/scala-xml_2.11-1.0.5.jar\"\n                    ],\n                    \"artifact_sha256\": \"767e11f33eddcd506980f0ff213f9d553a6a21802e3be1330345f62f7ee3d50f\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scalactic' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:82:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scalactic\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalactic/scalactic_2.11/3.0.5/scalactic_2.11-3.0.5.jar\"\n            ],\n            \"artifact_sha256\": \"84723064f5716f38990fe6e65468aa39700c725484efceef015771d267341cf2\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"795b1fe3defae0b424e2c0d534b1d4edfde1de8e573694919488eef1a108e524\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scalactic\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalactic/scalactic_2.11/3.0.5/scalactic_2.11-3.0.5.jar\"\n                    ],\n                    \"artifact_sha256\": \"84723064f5716f38990fe6e65468aa39700c725484efceef015771d267341cf2\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'io_bazel_rules_scala_scalatest' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:72:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"io_bazel_rules_scala_scalatest\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/org/scalatest/scalatest_2.11/3.0.5/scalatest_2.11-3.0.5.jar\"\n            ],\n            \"artifact_sha256\": \"2aafeb41257912cbba95f9d747df9ecdc7ff43f039d35014b4c2a8eb7ed9ba2f\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"d7d4d87a179cdede9880851973ba3d66afebda3f50462ca20aab48b6e322178e\",\n                \"attributes\": {\n                    \"name\": \"io_bazel_rules_scala_scalatest\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/org/scalatest/scalatest_2.11/3.0.5/scalatest_2.11-3.0.5.jar\"\n                    ],\n                    \"artifact_sha256\": \"2aafeb41257912cbba95f9d747df9ecdc7ff43f039d35014b4c2a8eb7ed9ba2f\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n        \"definition_information\": \"Call stack for the definition of repository 'scalac_rules_commons_io' which is a jvm_import_external (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:207:23):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:276:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/scala_maven_import_external.bzl:240:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:117:5\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"scalac_rules_commons_io\",\n            \"rule_name\": \"scala_import\",\n            \"licenses\": [\n                \"notice\"\n            ],\n            \"jar_urls\": [\n                \"https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar\"\n            ],\n            \"artifact_sha256\": \"f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513\",\n            \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@io_bazel_rules_scala//scala:scala_maven_import_external.bzl%jvm_import_external\",\n                \"output_tree_hash\": \"60ad6b5a347252411679bdf62f0770c883dfd18c28ae382dae131fd9c15b6b37\",\n                \"attributes\": {\n                    \"name\": \"scalac_rules_commons_io\",\n                    \"rule_name\": \"scala_import\",\n                    \"licenses\": [\n                        \"notice\"\n                    ],\n                    \"jar_urls\": [\n                        \"https://repo.maven.apache.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar\"\n                    ],\n                    \"artifact_sha256\": \"f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513\",\n                    \"rule_load\": \"load(\\\"@io_bazel_rules_scala//scala:scala_import.bzl\\\", \\\"scala_import\\\")\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'zlib' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:146:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/io_bazel_rules_scala/scala/private/macros/scala_repositories.bzl:146:9\\n - /Users/smandrean/src/github.com/spotify/bazel-tools/WORKSPACE:40:1\",\n        \"original_attributes\": {\n            \"name\": \"zlib\",\n            \"urls\": [\n                \"https://mirror.bazel.build/zlib.net/zlib-1.2.11.tar.gz\",\n                \"https://zlib.net/zlib-1.2.11.tar.gz\"\n            ],\n            \"sha256\": \"c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1\",\n            \"strip_prefix\": \"zlib-1.2.11\",\n            \"build_file\": \"@com_google_protobuf//:third_party/zlib.BUILD\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"26d6ac7f650142cd1585cf4f0cd8ab8fdbc85373dec0f263e6f2d8e27ed5d64a\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/zlib.net/zlib-1.2.11.tar.gz\",\n                        \"https://zlib.net/zlib-1.2.11.tar.gz\"\n                    ],\n                    \"sha256\": \"c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zlib-1.2.11\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@com_google_protobuf//:third_party/zlib.BUILD\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"zlib\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remote_coverage_tools' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /DEFAULT.WORKSPACE.SUFFIX:9:1\\n - /DEFAULT.WORKSPACE.SUFFIX:9:1\",\n        \"original_attributes\": {\n            \"name\": \"remote_coverage_tools\",\n            \"urls\": [\n                \"https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.1.zip\"\n            ],\n            \"sha256\": \"96ac6bc9b9fbc67b532bcae562da1642409791e6a4b8e522f04946ee5cc3ff8e\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"a021aeb7dfe67e7a2bb584ae6cfaaff48068b302c3b972d0d5a2cb068640531b\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.1.zip\"\n                    ],\n                    \"sha256\": \"96ac6bc9b9fbc67b532bcae562da1642409791e6a4b8e522f04946ee5cc3ff8e\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remote_coverage_tools\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"bootclasspath\",\n            \"actual\": \"@local_jdk//:bootclasspath\"\n        },\n        \"native\": \"bind(name = \\\"bootclasspath\\\", actual = \\\"@local_jdk//:bootclasspath\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"extclasspath\",\n            \"actual\": \"@local_jdk//:extdir\"\n        },\n        \"native\": \"bind(name = \\\"extclasspath\\\", actual = \\\"@local_jdk//:extdir\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"extdir\",\n            \"actual\": \"@local_jdk//:extdir\"\n        },\n        \"native\": \"bind(name = \\\"extdir\\\", actual = \\\"@local_jdk//:extdir\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jar\",\n            \"actual\": \"@local_jdk//:jar\"\n        },\n        \"native\": \"bind(name = \\\"jar\\\", actual = \\\"@local_jdk//:jar\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"java\",\n            \"actual\": \"@local_jdk//:java\"\n        },\n        \"native\": \"bind(name = \\\"java\\\", actual = \\\"@local_jdk//:java\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"javac\",\n            \"actual\": \"@local_jdk//:javac\"\n        },\n        \"native\": \"bind(name = \\\"javac\\\", actual = \\\"@local_jdk//:javac\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jdk\",\n            \"actual\": \"@local_jdk//:jdk\"\n        },\n        \"native\": \"bind(name = \\\"jdk\\\", actual = \\\"@local_jdk//:jdk\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jdk-default\",\n            \"actual\": \"@local_jdk//:jdk\"\n        },\n        \"native\": \"bind(name = \\\"jdk-default\\\", actual = \\\"@local_jdk//:jdk\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jni_header\",\n            \"actual\": \"@local_jdk//:jni_header\"\n        },\n        \"native\": \"bind(name = \\\"jni_header\\\", actual = \\\"@local_jdk//:jni_header\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jni_md_header-darwin\",\n            \"actual\": \"@local_jdk//:jni_md_header-darwin\"\n        },\n        \"native\": \"bind(name = \\\"jni_md_header-darwin\\\", actual = \\\"@local_jdk//:jni_md_header-darwin\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jni_md_header-freebsd\",\n            \"actual\": \"@local_jdk//:jni_md_header-freebsd\"\n        },\n        \"native\": \"bind(name = \\\"jni_md_header-freebsd\\\", actual = \\\"@local_jdk//:jni_md_header-freebsd\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jni_md_header-linux\",\n            \"actual\": \"@local_jdk//:jni_md_header-linux\"\n        },\n        \"native\": \"bind(name = \\\"jni_md_header-linux\\\", actual = \\\"@local_jdk//:jni_md_header-linux\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jre\",\n            \"actual\": \"@local_jdk//:jre\"\n        },\n        \"native\": \"bind(name = \\\"jre\\\", actual = \\\"@local_jdk//:jre\\\")\"\n    },\n    {\n        \"original_rule_class\": \"bind\",\n        \"original_attributes\": {\n            \"name\": \"jre-default\",\n            \"actual\": \"@local_jdk//:jre\"\n        },\n        \"native\": \"bind(name = \\\"jre-default\\\", actual = \\\"@local_jdk//:jre\\\")\"\n    },\n    {\n        \"original_rule_class\": \"new_local_repository\",\n        \"original_attributes\": {\n            \"name\": \"local_jdk\",\n            \"path\": \"/Users/smandrean/.sdkman/candidates/java/current\",\n            \"build_file\": \"/var/tmp/_bazel_smandrean/install/7afe40059062a3d2a6e3d7dae41ab49a/jdk.BUILD\"\n        },\n        \"native\": \"new_local_repository(name = \\\"local_jdk\\\", path = \\\"/Users/smandrean/.sdkman/candidates/java/current\\\", build_file = __embedded_dir__ + \\\"/\\\" + \\\"jdk.BUILD\\\")\"\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remote_java_tools_darwin' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:280:1\",\n        \"original_attributes\": {\n            \"name\": \"remote_java_tools_darwin\",\n            \"urls\": [\n                \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_darwin-v7.0.zip\",\n                \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_darwin-v7.0.zip\"\n            ],\n            \"sha256\": \"373a4226906ae9ba908550da16e133c4cd1f01b8973af82b9a2eb6903cb4d645\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"6a1274bb378cd31f3c01309fe031e1167eded56f10a1663e33319b1d09eb2697\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_darwin-v7.0.zip\",\n                        \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_darwin-v7.0.zip\"\n                    ],\n                    \"sha256\": \"373a4226906ae9ba908550da16e133c4cd1f01b8973af82b9a2eb6903cb4d645\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remote_java_tools_darwin\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remote_java_tools_linux' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:260:1\",\n        \"original_attributes\": {\n            \"name\": \"remote_java_tools_linux\",\n            \"urls\": [\n                \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_linux-v7.0.zip\",\n                \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_linux-v7.0.zip\"\n            ],\n            \"sha256\": \"3ff465e82954a70f49982610dd63f6f651beaa83c707dd637870b0e41cdcd2f0\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"078d6939f452c18f7e157e36ced2fc741f87bb41459d15d2141cb1e543227a71\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_linux-v7.0.zip\",\n                        \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_linux-v7.0.zip\"\n                    ],\n                    \"sha256\": \"3ff465e82954a70f49982610dd63f6f651beaa83c707dd637870b0e41cdcd2f0\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remote_java_tools_linux\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remote_java_tools_windows' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:270:1\",\n        \"original_attributes\": {\n            \"name\": \"remote_java_tools_windows\",\n            \"urls\": [\n                \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_windows-v7.0.zip\",\n                \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_windows-v7.0.zip\"\n            ],\n            \"sha256\": \"11d90a147919e74d11870cdd58c4ee5de3062c08d11b16aa72d3f3bbfa9497a0\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"e19aaaf567a4ba900cd3fc1ae86e150f3328ee255d799e9d8705394fcd09de36\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/bazel_java_tools/releases/javac11/v7.0/java_tools_javac11_windows-v7.0.zip\",\n                        \"https://github.com/bazelbuild/java_tools/releases/download/javac11-v7.0/java_tools_javac11_windows-v7.0.zip\"\n                    ],\n                    \"sha256\": \"11d90a147919e74d11870cdd58c4ee5de3062c08d11b16aa72d3f3bbfa9497a0\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remote_java_tools_windows\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk10_linux' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:168:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk10_linux\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz\"\n            ],\n            \"sha256\": \"57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5\",\n            \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-linux_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"c9dccd7b74cd955b0f787021250b85e4cb18b9a200271f786c18e8903520306e\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-linux_x64-allmodules.tar.gz\"\n                    ],\n                    \"sha256\": \"57fad3602e74c79587901d6966d3b54ef32cb811829a2552163185d5064fe9b5\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-linux_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk10_linux\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk10_linux_aarch64' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:203:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk10_linux_aarch64\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz\",\n                \"http://openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz\"\n            ],\n            \"sha256\": \"b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be\",\n            \"strip_prefix\": \"jdk10-server-release-1804\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"20244422e9184a55118a40d3ef41cbcdddfc8baa1ac8543787f6dae017648d61\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz\",\n                        \"http://openjdk.linaro.org/releases/jdk10-server-release-1804.tar.xz\"\n                    ],\n                    \"sha256\": \"b7098b7aaf6ee1ffd4a2d0371a0be26c5a5c87f6aebbe46fe9a92c90583a84be\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"jdk10-server-release-1804\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk10_linux_aarch64\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk10_macos' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:179:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk10_macos\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz\"\n            ],\n            \"sha256\": \"e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3\",\n            \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-macosx_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"5297a8a8aca0477a270d112166aa48cbc7cf7f838a4f9e7def0c983dfa8c61fd\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-macosx_x64-allmodules.tar.gz\"\n                    ],\n                    \"sha256\": \"e669c9a897413d855b550b4e39d79614392e6fb96f494e8ef99a34297d9d85d3\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-macosx_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk10_macos\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk10_win' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:190:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk10_win\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip\"\n            ],\n            \"sha256\": \"c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5\",\n            \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-win_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"611ec9e3ca23a3de4aa368a95daf662cf2fd64e5f52fe3987581961bfe3ca9ff\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu10.2+3-jdk10.0.1/zulu10.2+3-jdk10.0.1-win_x64-allmodules.zip\"\n                    ],\n                    \"sha256\": \"c39e7700a8d41794d60985df5a20352435196e78ecbc6a2b30df7be8637bffd5\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu10.2+3-jdk10.0.1-win_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk10_win\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk11_linux' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:216:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk11_linux\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz\"\n            ],\n            \"sha256\": \"232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75\",\n            \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-linux_x64\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"41eeb95428accd781c6818d658697a95762c0d7d894e78d13dfb8bc72726e377\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-linux_x64.tar.gz\"\n                    ],\n                    \"sha256\": \"232b1c3511f0d26e92582b7c3cc363be7ac633e371854ca2f2e9f2b50eb72a75\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-linux_x64\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk11_linux\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk11_linux_aarch64' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:227:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk11_linux_aarch64\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz\"\n            ],\n            \"sha256\": \"3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b\",\n            \"strip_prefix\": \"zulu11.31.15-ca-jdk11.0.3-linux_aarch64\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"63b2de4509be27b745ea5447a370d53bffe7fed890e361a719452ac0a6dc004b\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu11.31.15-ca-jdk11.0.3/zulu11.31.15-ca-jdk11.0.3-linux_aarch64.tar.gz\"\n                    ],\n                    \"sha256\": \"3b0d91611b1bdc4d409afcf9eab4f0e7f4ae09f88fc01bd9f2b48954882ae69b\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu11.31.15-ca-jdk11.0.3-linux_aarch64\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk11_linux_aarch64\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk11_macos' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:238:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk11_macos\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz\"\n            ],\n            \"sha256\": \"1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb\",\n            \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-macosx_x64\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"90c3a1eeb9570061df7a4990590f682dc8f923c43afc00d33d7dc0f3727f177d\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-macosx_x64.tar.gz\"\n                    ],\n                    \"sha256\": \"1edf366ee821e5db8e348152fcb337b28dfd6bf0f97943c270dcc6747cedb6cb\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-macosx_x64\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk11_macos\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk11_win' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:249:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk11_win\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip\"\n            ],\n            \"sha256\": \"8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3\",\n            \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-win_x64\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"edacb54f8413aabfccd4a01e6cef3e1ef83bbd15e5079802326fbe7def235021\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu11.2.3-jdk11.0.1/zulu11.2.3-jdk11.0.1-win_x64.zip\"\n                    ],\n                    \"sha256\": \"8e1e2b8347de6746f3fd1538840dd643201533ab113abc4ed93678e342d28aa3\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu11.2.3-jdk11.0.1-win_x64\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk11_win\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk_linux' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:120:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk_linux\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz\"\n            ],\n            \"sha256\": \"f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87\",\n            \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"60af9beadca2b7093e567a2c566b9cb1a3e3630ceac94b5d2f6190837dcdbd95\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules.tar.gz\"\n                    ],\n                    \"sha256\": \"f27cb933de4f9e7fe9a703486cf44c84bc8e9f138be0c270c9e5716a32367e87\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-linux_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk_linux\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk_linux_aarch64' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:155:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk_linux_aarch64\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz\",\n                \"http://openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz\"\n            ],\n            \"sha256\": \"72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022\",\n            \"strip_prefix\": \"jdk9-server-release-1708\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"c04e055b0c961642ff9da7be19863bd62413544ea0a31359dfcdf725b298d93f\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz\",\n                        \"http://openjdk.linaro.org/releases/jdk9-server-release-1708.tar.xz\"\n                    ],\n                    \"sha256\": \"72e7843902b0395e2d30e1e9ad2a5f05f36a4bc62529828bcbc698d54aec6022\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"jdk9-server-release-1708\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk_linux_aarch64\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk_macos' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:131:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk_macos\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz\"\n            ],\n            \"sha256\": \"404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de\",\n            \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"2dcd799e86386cd1f9a24900c6dcb9b598a84be28dab6eb93792079ce07aab2f\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules.tar.gz\"\n                    ],\n                    \"sha256\": \"404e7058ff91f956612f47705efbee8e175a38b505fb1b52d8c1ea98718683de\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-macosx_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk_macos\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'remotejdk_win' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:142:1\",\n        \"original_attributes\": {\n            \"name\": \"remotejdk_win\",\n            \"urls\": [\n                \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip\"\n            ],\n            \"sha256\": \"e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed\",\n            \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-win_x64-allmodules\",\n            \"build_file\": \"@local_jdk//:BUILD.bazel\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"faf2966f62c47f39be6eedf5f486bd363afb14c33da79c7a62a2087aac1385e5\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/openjdk/azul-zulu-9.0.7.1-jdk9.0.7/zulu9.0.7.1-jdk9.0.7-win_x64-allmodules.zip\"\n                    ],\n                    \"sha256\": \"e738829017f107e7a7cd5069db979398ec3c3f03ef56122f89ba38e7374f63ed\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"zulu9.0.7.1-jdk9.0.7-win_x64-allmodules\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file\": \"@local_jdk//:BUILD.bazel\",\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"remotejdk_win\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'rules_cc' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:302:1\",\n        \"original_attributes\": {\n            \"name\": \"rules_cc\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip\",\n                \"https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip\"\n            ],\n            \"sha256\": \"1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f\",\n            \"strip_prefix\": \"rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"9fec28bc6b938c817477a36026d3f87aed39f38da4a14c6755233b061d913de1\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip\",\n                        \"https://github.com/bazelbuild/rules_cc/archive/8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0.zip\"\n                    ],\n                    \"sha256\": \"1d4dbbd1e1e9b57d40bb0ade51c9e882da7658d5bfbf22bbd15b68e7879d761f\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"rules_cc-8bd6cd75d03c01bb82561a96d9c1f9f7157b13d0\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"rules_cc\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'rules_java' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:290:1\",\n        \"original_attributes\": {\n            \"name\": \"rules_java\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip\",\n                \"https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip\"\n            ],\n            \"sha256\": \"bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598\",\n            \"strip_prefix\": \"rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"00a0f1231dacff0b0cea3886200e0158c67a3600068275da14120f5434f83b5e\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip\",\n                        \"https://github.com/bazelbuild/rules_java/archive/7cf3cefd652008d0a64a419c34c13bdca6c8f178.zip\"\n                    ],\n                    \"sha256\": \"bc81f1ba47ef5cc68ad32225c3d0e70b8c6f6077663835438da8d5733f917598\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"rules_java-7cf3cefd652008d0a64a419c34c13bdca6c8f178\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"rules_java\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'rules_proto' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/utils.bzl:205:9\\n - /DEFAULT.WORKSPACE.SUFFIX:314:1\",\n        \"original_attributes\": {\n            \"name\": \"rules_proto\",\n            \"urls\": [\n                \"https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz\",\n                \"https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz\"\n            ],\n            \"sha256\": \"602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208\",\n            \"strip_prefix\": \"rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"4f74a84e9684fc73c48656a9a6c60bdfaed2cabdf5dc7d21da7ae2ee78c7efa3\",\n                \"attributes\": {\n                    \"url\": \"\",\n                    \"urls\": [\n                        \"https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz\",\n                        \"https://github.com/bazelbuild/rules_proto/archive/97d8af4dc474595af3900dd85cb3a29ad28cc313.tar.gz\"\n                    ],\n                    \"sha256\": \"602e7161d9195e50246177e7c55b2f39950a9cf7366f74ed5f22fd45750cd208\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"rules_proto-97d8af4dc474595af3900dd85cb3a29ad28cc313\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"rules_proto\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n        \"definition_information\": \"Call stack for the definition of repository 'android_tools' which is a http_archive (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/build_defs/repo/http.bzl:292:16):\\n - /DEFAULT.WORKSPACE.SUFFIX:343:1\\n - /DEFAULT.WORKSPACE.SUFFIX:343:1\",\n        \"original_attributes\": {\n            \"name\": \"android_tools\",\n            \"url\": \"https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.13.tar.gz\",\n            \"sha256\": \"3ca6a5e6576a9cda7c59f5fd33b1fe096725730712057c5893589ac15b019407\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\",\n                \"output_tree_hash\": \"94cac8c8674521e01a5fab34ac64e97f7f8b7ae132964b70bf7706f204d2dda0\",\n                \"attributes\": {\n                    \"url\": \"https://mirror.bazel.build/bazel_android_tools/android_tools_pkg-0.13.tar.gz\",\n                    \"urls\": [],\n                    \"sha256\": \"3ca6a5e6576a9cda7c59f5fd33b1fe096725730712057c5893589ac15b019407\",\n                    \"netrc\": \"\",\n                    \"canonical_id\": \"\",\n                    \"strip_prefix\": \"\",\n                    \"type\": \"\",\n                    \"patches\": [],\n                    \"patch_tool\": \"\",\n                    \"patch_args\": [\n                        \"-p0\"\n                    ],\n                    \"patch_cmds\": [],\n                    \"patch_cmds_win\": [],\n                    \"build_file_content\": \"\",\n                    \"workspace_file_content\": \"\",\n                    \"name\": \"android_tools\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"local_config_platform\",\n        \"original_attributes\": {\n            \"name\": \"local_config_platform\"\n        },\n        \"native\": \"local_config_platform(name = 'local_config_platform')\"\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/osx:xcode_configure.bzl%xcode_autoconf\",\n        \"definition_information\": \"Call stack for the definition of repository 'local_config_xcode' which is a xcode_autoconf (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/osx/xcode_configure.bzl:260:18):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/osx/xcode_configure.bzl:270:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/osx/xcode_configure.bzl:270:5\\n - /DEFAULT.WORKSPACE.SUFFIX:385:1\",\n        \"original_attributes\": {\n            \"name\": \"local_config_xcode\",\n            \"xcode_locator\": \"@bazel_tools//tools/osx:xcode_locator.m\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/osx:xcode_configure.bzl%xcode_autoconf\",\n                \"output_tree_hash\": \"b476fde311c10a395cdb6d2868ad8cf463adaf505892cdfd00e8f7928d455419\",\n                \"attributes\": {\n                    \"name\": \"local_config_xcode\",\n                    \"xcode_locator\": \"@bazel_tools//tools/osx:xcode_locator.m\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/sh:sh_configure.bzl%sh_config\",\n        \"definition_information\": \"Call stack for the definition of repository 'local_config_sh' which is a sh_config (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/sh/sh_configure.bzl:72:13):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/sh/sh_configure.bzl:83:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/sh/sh_configure.bzl:83:5\\n - /DEFAULT.WORKSPACE.SUFFIX:388:1\",\n        \"original_attributes\": {\n            \"name\": \"local_config_sh\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/sh:sh_configure.bzl%sh_config\",\n                \"output_tree_hash\": \"e36855460b514225eac75f4abe2cb992c5455b7077a9028d213d269d11490744\",\n                \"attributes\": {\n                    \"name\": \"local_config_sh\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/cpp:cc_configure.bzl%cc_autoconf\",\n        \"definition_information\": \"Call stack for the definition of repository 'local_config_cc' which is a cc_autoconf (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:143:15):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:179:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:179:5\\n - /DEFAULT.WORKSPACE.SUFFIX:392:1\",\n        \"original_attributes\": {\n            \"name\": \"local_config_cc\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/cpp:cc_configure.bzl%cc_autoconf\",\n                \"output_tree_hash\": \"835bfe58a674fb1807f12ccbeea98d59ee5111bac442d3f3070a918fe1b44e6e\",\n                \"attributes\": {\n                    \"name\": \"local_config_cc\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"@bazel_tools//tools/cpp:cc_configure.bzl%cc_autoconf_toolchains\",\n        \"definition_information\": \"Call stack for the definition of repository 'local_config_cc_toolchains' which is a cc_autoconf_toolchains (rule definition at /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:79:26):\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:178:5\\n - /private/var/tmp/_bazel_smandrean/94181bd310b9c3bf8fc0403fe06b6f7c/external/bazel_tools/tools/cpp/cc_configure.bzl:178:5\\n - /DEFAULT.WORKSPACE.SUFFIX:392:1\",\n        \"original_attributes\": {\n            \"name\": \"local_config_cc_toolchains\"\n        },\n        \"repositories\": [\n            {\n                \"rule_class\": \"@bazel_tools//tools/cpp:cc_configure.bzl%cc_autoconf_toolchains\",\n                \"output_tree_hash\": \"f12889945c570efe90074d34a3056e0252eb457dc6cef3c37cc8ae636b5eaba0\",\n                \"attributes\": {\n                    \"name\": \"local_config_cc_toolchains\"\n                }\n            }\n        ]\n    },\n    {\n        \"original_rule_class\": \"register_toolchains\",\n        \"original_attributes\": {\n            \"name\": \"//external/register_toolchains\",\n            \"*args\": [\n                \"@go_sdk//:go_android_386\",\n                \"@go_sdk//:go_android_amd64\",\n                \"@go_sdk//:go_android_arm\",\n                \"@go_sdk//:go_android_arm64\",\n                \"@go_sdk//:go_darwin_386\",\n                \"@go_sdk//:go_darwin_amd64\",\n                \"@go_sdk//:go_darwin_arm\",\n                \"@go_sdk//:go_darwin_arm64\",\n                \"@go_sdk//:go_dragonfly_amd64\",\n                \"@go_sdk//:go_freebsd_386\",\n                \"@go_sdk//:go_freebsd_amd64\",\n                \"@go_sdk//:go_freebsd_arm\",\n                \"@go_sdk//:go_linux_386\",\n                \"@go_sdk//:go_linux_amd64\",\n                \"@go_sdk//:go_linux_arm\",\n                \"@go_sdk//:go_linux_arm64\",\n                \"@go_sdk//:go_linux_mips\",\n                \"@go_sdk//:go_linux_mips64\",\n                \"@go_sdk//:go_linux_mips64le\",\n                \"@go_sdk//:go_linux_mipsle\",\n                \"@go_sdk//:go_linux_ppc64\",\n                \"@go_sdk//:go_linux_ppc64le\",\n                \"@go_sdk//:go_linux_s390x\",\n                \"@go_sdk//:go_nacl_386\",\n                \"@go_sdk//:go_nacl_amd64p32\",\n                \"@go_sdk//:go_nacl_arm\",\n                \"@go_sdk//:go_netbsd_386\",\n                \"@go_sdk//:go_netbsd_amd64\",\n                \"@go_sdk//:go_netbsd_arm\",\n                \"@go_sdk//:go_openbsd_386\",\n                \"@go_sdk//:go_openbsd_amd64\",\n                \"@go_sdk//:go_openbsd_arm\",\n                \"@go_sdk//:go_plan9_386\",\n                \"@go_sdk//:go_plan9_amd64\",\n                \"@go_sdk//:go_plan9_arm\",\n                \"@go_sdk//:go_solaris_amd64\",\n                \"@go_sdk//:go_windows_386\",\n                \"@go_sdk//:go_windows_amd64\",\n                \"@go_sdk//:go_js_wasm\",\n                \"@go_sdk//:go_ios_arm\",\n                \"@go_sdk//:go_ios_arm64\",\n                \"@go_sdk//:go_ios_386\",\n                \"@go_sdk//:go_ios_amd64\",\n                \"@io_bazel_rules_scala//scala:default_toolchain\",\n                \"@bazel_tools//tools/jdk:all\",\n                \"@bazel_tools//tools/python:autodetecting_toolchain\",\n                \"@local_config_sh//:local_sh_toolchain\",\n                \"@local_config_cc_toolchains//:all\"\n            ]\n        },\n        \"native\": \"register_toolchains(\\\"@go_sdk//:go_android_386\\\", \\\"@go_sdk//:go_android_amd64\\\", \\\"@go_sdk//:go_android_arm\\\", \\\"@go_sdk//:go_android_arm64\\\", \\\"@go_sdk//:go_darwin_386\\\", \\\"@go_sdk//:go_darwin_amd64\\\", \\\"@go_sdk//:go_darwin_arm\\\", \\\"@go_sdk//:go_darwin_arm64\\\", \\\"@go_sdk//:go_dragonfly_amd64\\\", \\\"@go_sdk//:go_freebsd_386\\\", \\\"@go_sdk//:go_freebsd_amd64\\\", \\\"@go_sdk//:go_freebsd_arm\\\", \\\"@go_sdk//:go_linux_386\\\", \\\"@go_sdk//:go_linux_amd64\\\", \\\"@go_sdk//:go_linux_arm\\\", \\\"@go_sdk//:go_linux_arm64\\\", \\\"@go_sdk//:go_linux_mips\\\", \\\"@go_sdk//:go_linux_mips64\\\", \\\"@go_sdk//:go_linux_mips64le\\\", \\\"@go_sdk//:go_linux_mipsle\\\", \\\"@go_sdk//:go_linux_ppc64\\\", \\\"@go_sdk//:go_linux_ppc64le\\\", \\\"@go_sdk//:go_linux_s390x\\\", \\\"@go_sdk//:go_nacl_386\\\", \\\"@go_sdk//:go_nacl_amd64p32\\\", \\\"@go_sdk//:go_nacl_arm\\\", \\\"@go_sdk//:go_netbsd_386\\\", \\\"@go_sdk//:go_netbsd_amd64\\\", \\\"@go_sdk//:go_netbsd_arm\\\", \\\"@go_sdk//:go_openbsd_386\\\", \\\"@go_sdk//:go_openbsd_amd64\\\", \\\"@go_sdk//:go_openbsd_arm\\\", \\\"@go_sdk//:go_plan9_386\\\", \\\"@go_sdk//:go_plan9_amd64\\\", \\\"@go_sdk//:go_plan9_arm\\\", \\\"@go_sdk//:go_solaris_amd64\\\", \\\"@go_sdk//:go_windows_386\\\", \\\"@go_sdk//:go_windows_amd64\\\", \\\"@go_sdk//:go_js_wasm\\\", \\\"@go_sdk//:go_ios_arm\\\", \\\"@go_sdk//:go_ios_arm64\\\", \\\"@go_sdk//:go_ios_386\\\", \\\"@go_sdk//:go_ios_amd64\\\", \\\"@io_bazel_rules_scala//scala:default_toolchain\\\", \\\"@bazel_tools//tools/jdk:all\\\", \\\"@bazel_tools//tools/python:autodetecting_toolchain\\\", \\\"@local_config_sh//:local_sh_toolchain\\\", \\\"@local_config_cc_toolchains//:all\\\")\"\n    },\n    {\n        \"original_rule_class\": \"register_execution_platforms\",\n        \"original_attributes\": {\n            \"name\": \"//external/register_execution_platforms\",\n            \"*args\": []\n        },\n        \"native\": \"register_execution_platforms()\"\n    }\n]"
  },
  {
    "path": "3rdparty/tools/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_plugin\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\njava_plugin(\n    name = \"auto-value\",\n    processor_class = \"com.google.auto.value.processor.AutoValueProcessor\",\n    visibility = [\n        \"//visibility:public\",\n    ],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "3rdparty/workspace.bzl",
    "content": "# This file is generated by sync-deps, do not edit!\nload(\"@rules_jvm_external//:defs.bzl\", \"maven_install\")\nload(\"@rules_jvm_external//:specs.bzl\", \"maven\")\n\ndef default_install(artifacts, repositories, excluded_artifacts = [], version_conflict_policy = None, **kwargs):\n    maven_install(\n        artifacts = artifacts,\n        fetch_sources = True,\n        repositories = repositories,\n        excluded_artifacts = excluded_artifacts,\n        maven_install_json = \"//3rdparty:maven-install.json\",\n        version_conflict_policy = version_conflict_policy,\n    )\n\ndef maven_dependencies(install = None):\n    if install == None:\n        install = default_install\n    install(\n        artifacts = [\n            maven.artifact(group = \"ch.qos.logback\", artifact = \"logback-classic\", version = \"1.2.3\", neverlink = False),\n            maven.artifact(group = \"ch.qos.logback\", artifact = \"logback-core\", version = \"1.2.3\", neverlink = False),\n            maven.artifact(group = \"com.fasterxml.jackson.core\", artifact = \"jackson-annotations\", version = \"2.9.6\", neverlink = False),\n            maven.artifact(group = \"com.fasterxml.jackson.core\", artifact = \"jackson-core\", version = \"2.9.6\", neverlink = False),\n            maven.artifact(group = \"com.fasterxml.jackson.core\", artifact = \"jackson-databind\", version = \"2.9.6\", neverlink = False),\n            maven.artifact(group = \"com.fasterxml.jackson.dataformat\", artifact = \"jackson-dataformat-yaml\", version = \"2.9.6\", neverlink = False),\n            maven.artifact(group = \"com.fasterxml.jackson.datatype\", artifact = \"jackson-datatype-guava\", version = \"2.9.6\", neverlink = False),\n            maven.artifact(group = \"com.geirsson\", artifact = \"scalafmt-core_2.12\", version = \"1.5.1\", neverlink = False),\n            maven.artifact(group = \"com.geirsson\", artifact = \"metaconfig-core_2.12\", version = \"0.4.0\", neverlink = False),\n            maven.artifact(group = \"com.geirsson\", artifact = \"metaconfig-typesafe-config_2.12\", version = \"0.4.0\", neverlink = False),\n            maven.artifact(group = \"com.github.tomas-langer\", artifact = \"chalk\", version = \"1.0.2\", neverlink = False),\n            maven.artifact(group = \"com.google.auto.value\", artifact = \"auto-value\", version = \"1.6.2\", neverlink = False),\n            maven.artifact(group = \"com.google.auto.value\", artifact = \"auto-value-annotations\", version = \"1.6.2\", neverlink = False),\n            maven.artifact(group = \"com.google.code.findbugs\", artifact = \"annotations\", version = \"3.0.1\", neverlink = False),\n            maven.artifact(group = \"com.google.code.findbugs\", artifact = \"jsr305\", version = \"3.0.2\", neverlink = False),\n            maven.artifact(group = \"com.google.errorprone\", artifact = \"error_prone_annotations\", version = \"2.3.1\", neverlink = False),\n            maven.artifact(group = \"com.google.googlejavaformat\", artifact = \"google-java-format\", version = \"1.6\", neverlink = False),\n            maven.artifact(group = \"com.google.guava\", artifact = \"guava\", version = \"23.6.1-jre\", neverlink = False),\n            maven.artifact(group = \"com.google.protobuf\", artifact = \"protobuf-java\", version = \"3.8.0\", neverlink = False),\n            maven.artifact(group = \"com.google.jimfs\", artifact = \"jimfs\", version = \"1.1\", neverlink = False),\n            maven.artifact(group = \"com.squareup.okio\", artifact = \"okio\", version = \"1.15.0\", neverlink = False),\n            maven.artifact(group = \"net.sf.jopt-simple\", artifact = \"jopt-simple\", version = \"5.0.4\", neverlink = False),\n            maven.artifact(group = \"org.hamcrest\", artifact = \"java-hamcrest\", version = \"2.0.0.0\", neverlink = False),\n            maven.artifact(group = \"org.scala-lang\", artifact = \"scala-compiler\", version = \"2.12.6\", neverlink = False),\n            maven.artifact(group = \"org.scala-lang\", artifact = \"scala-library\", version = \"2.12.6\", neverlink = False),\n            maven.artifact(group = \"org.scala-lang\", artifact = \"scala-reflect\", version = \"2.12.6\", neverlink = False),\n            maven.artifact(group = \"org.slf4j\", artifact = \"slf4j-api\", version = \"1.7.25\", neverlink = False),\n        ],\n        repositories = [\n            \"https://repo.maven.apache.org/maven2/\",\n        ],\n        excluded_artifacts = [\n            maven.exclusion(group = \"com.google.guava\", artifact = \"guava-jdk5\"),\n            maven.exclusion(group = \"org.slf4j\", artifact = \"slf4j-log4j12\"),\n        ],\n        version_conflict_policy = \"pinned\",\n    )\n"
  },
  {
    "path": "BUILD",
    "content": "load(\"@rules_proto//proto:defs.bzl\", \"proto_lang_toolchain\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nexports_files([\"tools.bzl\"])\n\nproto_lang_toolchain(\n    name = \"protobuf_java_toolchain\",\n    command_line = \"--java_out=$(OUT)\",\n    runtime = \"//3rdparty/jvm/com/google/protobuf:protobuf-java\",\n    visibility = [\"//visibility:public\"],\n)\n"
  },
  {
    "path": "LICENSE",
    "content": "\n                                 Apache License\n                           Version 2.0, January 2004\n                        http://www.apache.org/licenses/\n\n   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n   1. Definitions.\n\n      \"License\" shall mean the terms and conditions for use, reproduction,\n      and distribution as defined by Sections 1 through 9 of this document.\n\n      \"Licensor\" shall mean the copyright owner or entity authorized by\n      the copyright owner that is granting the License.\n\n      \"Legal Entity\" shall mean the union of the acting entity and all\n      other entities that control, are controlled by, or are under common\n      control with that entity. For the purposes of this definition,\n      \"control\" means (i) the power, direct or indirect, to cause the\n      direction or management of such entity, whether by contract or\n      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n      outstanding shares, or (iii) beneficial ownership of such entity.\n\n      \"You\" (or \"Your\") shall mean an individual or Legal Entity\n      exercising permissions granted by this License.\n\n      \"Source\" form shall mean the preferred form for making modifications,\n      including but not limited to software source code, documentation\n      source, and configuration files.\n\n      \"Object\" form shall mean any form resulting from mechanical\n      transformation or translation of a Source form, including but\n      not limited to compiled object code, generated documentation,\n      and conversions to other media types.\n\n      \"Work\" shall mean the work of authorship, whether in Source or\n      Object form, made available under the License, as indicated by a\n      copyright notice that is included in or attached to the work\n      (an example is provided in the Appendix below).\n\n      \"Derivative Works\" shall mean any work, whether in Source or Object\n      form, that is based on (or derived from) the Work and for which the\n      editorial revisions, annotations, elaborations, or other modifications\n      represent, as a whole, an original work of authorship. For the purposes\n      of this License, Derivative Works shall not include works that remain\n      separable from, or merely link (or bind by name) to the interfaces of,\n      the Work and Derivative Works thereof.\n\n      \"Contribution\" shall mean any work of authorship, including\n      the original version of the Work and any modifications or additions\n      to that Work or Derivative Works thereof, that is intentionally\n      submitted to Licensor for inclusion in the Work by the copyright owner\n      or by an individual or Legal Entity authorized to submit on behalf of\n      the copyright owner. For the purposes of this definition, \"submitted\"\n      means any form of electronic, verbal, or written communication sent\n      to the Licensor or its representatives, including but not limited to\n      communication on electronic mailing lists, source code control systems,\n      and issue tracking systems that are managed by, or on behalf of, the\n      Licensor for the purpose of discussing and improving the Work, but\n      excluding communication that is conspicuously marked or otherwise\n      designated in writing by the copyright owner as \"Not a Contribution.\"\n\n      \"Contributor\" shall mean Licensor and any individual or Legal Entity\n      on behalf of whom a Contribution has been received by Licensor and\n      subsequently incorporated within the Work.\n\n   2. Grant of Copyright License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      copyright license to reproduce, prepare Derivative Works of,\n      publicly display, publicly perform, sublicense, and distribute the\n      Work and such Derivative Works in Source or Object form.\n\n   3. Grant of Patent License. Subject to the terms and conditions of\n      this License, each Contributor hereby grants to You a perpetual,\n      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n      (except as stated in this section) patent license to make, have made,\n      use, offer to sell, sell, import, and otherwise transfer the Work,\n      where such license applies only to those patent claims licensable\n      by such Contributor that are necessarily infringed by their\n      Contribution(s) alone or by combination of their Contribution(s)\n      with the Work to which such Contribution(s) was submitted. If You\n      institute patent litigation against any entity (including a\n      cross-claim or counterclaim in a lawsuit) alleging that the Work\n      or a Contribution incorporated within the Work constitutes direct\n      or contributory patent infringement, then any patent licenses\n      granted to You under this License for that Work shall terminate\n      as of the date such litigation is filed.\n\n   4. Redistribution. You may reproduce and distribute copies of the\n      Work or Derivative Works thereof in any medium, with or without\n      modifications, and in Source or Object form, provided that You\n      meet the following conditions:\n\n      (a) You must give any other recipients of the Work or\n          Derivative Works a copy of this License; and\n\n      (b) You must cause any modified files to carry prominent notices\n          stating that You changed the files; and\n\n      (c) You must retain, in the Source form of any Derivative Works\n          that You distribute, all copyright, patent, trademark, and\n          attribution notices from the Source form of the Work,\n          excluding those notices that do not pertain to any part of\n          the Derivative Works; and\n\n      (d) If the Work includes a \"NOTICE\" text file as part of its\n          distribution, then any Derivative Works that You distribute must\n          include a readable copy of the attribution notices contained\n          within such NOTICE file, excluding those notices that do not\n          pertain to any part of the Derivative Works, in at least one\n          of the following places: within a NOTICE text file distributed\n          as part of the Derivative Works; within the Source form or\n          documentation, if provided along with the Derivative Works; or,\n          within a display generated by the Derivative Works, if and\n          wherever such third-party notices normally appear. The contents\n          of the NOTICE file are for informational purposes only and\n          do not modify the License. You may add Your own attribution\n          notices within Derivative Works that You distribute, alongside\n          or as an addendum to the NOTICE text from the Work, provided\n          that such additional attribution notices cannot be construed\n          as modifying the License.\n\n      You may add Your own copyright statement to Your modifications and\n      may provide additional or different license terms and conditions\n      for use, reproduction, or distribution of Your modifications, or\n      for any such Derivative Works as a whole, provided Your use,\n      reproduction, and distribution of the Work otherwise complies with\n      the conditions stated in this License.\n\n   5. Submission of Contributions. Unless You explicitly state otherwise,\n      any Contribution intentionally submitted for inclusion in the Work\n      by You to the Licensor shall be under the terms and conditions of\n      this License, without any additional terms or conditions.\n      Notwithstanding the above, nothing herein shall supersede or modify\n      the terms of any separate license agreement you may have executed\n      with Licensor regarding such Contributions.\n\n   6. Trademarks. This License does not grant permission to use the trade\n      names, trademarks, service marks, or product names of the Licensor,\n      except as required for reasonable and customary use in describing the\n      origin of the Work and reproducing the content of the NOTICE file.\n\n   7. Disclaimer of Warranty. Unless required by applicable law or\n      agreed to in writing, Licensor provides the Work (and each\n      Contributor provides its Contributions) on an \"AS IS\" BASIS,\n      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n      implied, including, without limitation, any warranties or conditions\n      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n      PARTICULAR PURPOSE. You are solely responsible for determining the\n      appropriateness of using or redistributing the Work and assume any\n      risks associated with Your exercise of permissions under this License.\n\n   8. Limitation of Liability. In no event and under no legal theory,\n      whether in tort (including negligence), contract, or otherwise,\n      unless required by applicable law (such as deliberate and grossly\n      negligent acts) or agreed to in writing, shall any Contributor be\n      liable to You for damages, including any direct, indirect, special,\n      incidental, or consequential damages of any character arising as a\n      result of this License or out of the use or inability to use the\n      Work (including but not limited to damages for loss of goodwill,\n      work stoppage, computer failure or malfunction, or any and all\n      other commercial damages or losses), even if such Contributor\n      has been advised of the possibility of such damages.\n\n   9. Accepting Warranty or Additional Liability. While redistributing\n      the Work or Derivative Works thereof, You may choose to offer,\n      and charge a fee for, acceptance of support, warranty, indemnity,\n      or other liability obligations and/or rights consistent with this\n      License. However, in accepting such obligations, You may act only\n      on Your own behalf and on Your sole responsibility, not on behalf\n      of any other Contributor, and only if You agree to indemnify,\n      defend, and hold each Contributor harmless for any liability\n      incurred by, or claims asserted against, such Contributor by reason\n      of your accepting any such warranty or additional liability.\n\n   END OF TERMS AND CONDITIONS\n\n   APPENDIX: How to apply the Apache License to your work.\n\n      To apply the Apache License to your work, attach the following\n      boilerplate notice, with the fields enclosed by brackets \"[]\"\n      replaced with your own identifying information. (Don't include\n      the brackets!)  The text should be enclosed in the appropriate\n      comment syntax for the file format. We also recommend that a\n      file or class name and description of purpose be included on the\n      same \"printed page\" as the copyright notice for easier\n      identification within third-party archives.\n\n   Copyright [yyyy] [name of copyright owner]\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n"
  },
  {
    "path": "README.md",
    "content": "# bazel-tools [![Build Status](https://travis-ci.org/spotify/bazel-tools.svg?branch=master)](https://travis-ci.org/spotify/bazel-tools)\n\nThis repository contains a collection of tools for working with Bazel workspaces; mostly tailored\ntowards writing JVM backend services.\n\n  - [depfuzz](depfuzz) - A tool for removing unused dependencies with a fuzzing strategy.\n  - [expand-macros](expand-macros) - A tool for expanding Bazel macros into the rules that they\n    generate.\n  - [format](format) - A tool for formatting all files in the repository according to common style\n    guides.\n  - [unused](unused) - A tool for showing source files that are not used in the build.\n  - [sync-deps](sync-deps) - A tool for synchronizing third-party dependencies.\n  - [sync-repos](sync-repos) - A tool for synchronizing third-party repositories.\n\nThese tools are being used in production at Spotify but have been built for very specific use-cases.\nThey will continue to evolve and cover more use-cases as they mature.\n\n# Usage\n\nUsing these tools has some setup cost, but is hopefully worth it in the long run since it only has\nto be done once for a large/mono-repository.\n\nAdd a `WORKSPACE` dependency on this repository by including the following Skylark rule:\n\n```python\n# current SHA1 of branch master\nspotify_bazel_tools_version=\"<fill in SHA1>\"\nhttp_archive(\n    name = \"spotify_bazel_tools\",\n    sha256 = \"<fill in SHA256>\",\n    strip_prefix = \"bazel-tools-%s\" % spotify_bazel_tools_version,\n    url = \"https://github.com/spotify/bazel-tools/archive/%s.zip\" % spotify_bazel_tools_version,\n)\n```\n\nYou additionally need to add Go and Scala support by adding the official plugins for that, e.g.:\n\n```python\n# current SHA1 of branch master\nrules_go_version=\"<fill in SHA1>\"\nhttp_archive(\n    name = \"io_bazel_rules_go\",\n    sha256 = \"<fill in SHA256>\",\n    strip_prefix = \"rules_go-%s\" % rules_go_version,\n    url = \"https://github.com/bazelbuild/rules_go/archive/%s.zip\" % rules_go_version,\n)\n\n# current SHA1 of branch master\nrules_scala_version=\"<fill in SHA1>\"\nhttp_archive(\n    name = \"io_bazel_rules_scala\",\n    sha256 = \"<fill in SHA256>\",\n    strip_prefix = \"rules_scala-%s\" % rules_scala_version,\n    url = \"https://github.com/bazelbuild/rules_scala/archive/%s.zip\" % rules_scala_version,\n)\n\nload(\"@io_bazel_rules_go//go:deps.bzl\", \"go_rules_dependencies\", \"go_register_toolchains\")\n\ngo_rules_dependencies()\n\ngo_register_toolchains()\n\nload(\"@io_bazel_rules_scala//scala:scala.bzl\", \"scala_repositories\")\n\nscala_repositories()\n```\n\nNow you need to declare various tool dependencies.  If you want to use the pre-packaged ones, use\nthe bundled repository declaration:\n\n```python\nload(\"@spotify_bazel_tools//:tools.bzl\", \"bazel_tools_repositories\")\n\nbazel_tools_repositories()\n```\n\nIf you want to customize the dependencies, you can instead bind your own versions:\n\n```python\nbind(\n    name = \"spotify_bazel_tools/dependency/buildtools/buildifier\",\n    actual = \"@io_bazel_buildtools//buildifier\",\n)\n\nbind(\n    name = \"spotify_bazel_tools/dependency/buildtools/buildozer\",\n    actual = \"@io_bazel_buildtools//buildozer\",\n)\n\nbind(\n    name = \"spotify_bazel_tools/dependency/buildtools/unused_deps\",\n    actual = \"@io_bazel_buildtools//unused_deps\",\n)\n\n# ...and declare your own maven dependencies for Java dependencies, maybe by copy-pasting the\n# 3rdparty/dependencies.yaml file from this repository.\n```\n\nNow you can start leveraging the tools in this repository by creating a wrapper script, e.g.:\n\n```bash\n#!/bin/sh\nexec bazel run @spotify_bazel_tools//sync-deps -- -w \"$PWD\" \"$@\"\n```\n\n...or if you don't want to hold the Bazel lock, but instead want to create a temporary standalone\ntool:\n\n```bash\n#!/bin/sh\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//sync-deps\nexec \"$script\" -w \"$PWD\" \"$@\"\n```\n\nHere are guides for the most useful tools:\n\n## Dependency management\n\nThere are a few tools that are useful for managing dependencies of a large repository.  The\ndependency management assumes that you are using the same versions of all external dependencies\nacross the repository.\n\nAll dependencies should be listed in `3rdparty/dependencies.yaml`.  For now only maven-managed\ndependencies are supported.\n\nThe structure of that file is as follows:\n\n```yaml\n# Options concerning the entire dependency graph\noptions:\n  # Resolvers used during dependency resolution (usually Maven servers). Does not need to match your\n  # WORKSPACE maven_servers!\n  mavenResolvers:\n    - id: \"default\"\n      url: https://repo.maven.apache.org/maven2/\n  # The Scala ABI to be used for dependencies with `kind: scala*`\n  scalaAbi: \"2.11\"\n  # Dependencies to completely remove from the dependency graph, because they are not needed.\n  excludedDependencies:\n    - com.google.guava:guava-jdk5\n    - org.slf4j:slf4j-log4j12\n  # Treat the specific versions in this file as \"pinned\" (do not use later versions)\n  # See this for more info: https://github.com/bazelbuild/rules_jvm_external#resolving-user-specified-and-transitive-dependency-version-conflicts\n  versionConflictPolicy: \"pinned\"\n\n# Dependencies to be fetched from GitHub repositories\ngithub:\n  # The Bazel target name used to refer to the repo\n  # repo in combination with either commit, branch, tag or tag+release(+stripPrefix)\n  io_bazel:\n    # The org/repo identifier\n    repo: bazelbuild/bazel\n    # The git commit\n    commit: dbc504c8a033f06041ba42c219b983f475972583\n    # The git branch\n    branch: master\n    # The git tag\n    tag: 2.1.0\n\n    # The release artifact name (has to be used together with a tag)\n    release: bazel-2.1.0-dist.zip\n    # Any top level directory to strip out after extracting the release\n    #stripPrefix: bazel-2.1.0-dist\n\n# Dependencies to be fetched from Maven repositories\nmaven:\n  # The groupId prefix of dependencies to download\n  com.fasterxml.jackson:\n    # The artifactId prefix of dependencies to download\n    jackson:\n      # For Maven artifacts, it's quite common to have a lot of related artifacts with the same\n      # version. We chose not to support the Bill Of Manifests (BOM) pattern, and instead use a more\n      # concise way to list modules.\n      #\n      # The modules block is optional and by default this block simply includes the artifact\n      # groupId:artifactId.\n      modules:\n        # <foo>:<bar> will append \".<foo>\" to the groupId and \"-<bar>\" to the artifactId of this\n        # block.  In the end, this becomes \"com.fasterxml.jackson.core:jackson-annotations\"\n        - core:annotations\n        # Only writing <bar> will append \"-<bar>\" to the artifactId.  In the end, this becomes\n        # \"com.fasterxml.jackson:jackson-core\" (which doesn't actually exist).\n        - core\n        # The empty string will not append anything, so the resulting artifact would become\n        # \"com.fasterxml.jackson:jackson\" in this case (which doesn't actually exist).\n        - \"\"\n\n      # The version for all of the artifacts/modules in this group.\n      version: \"2.9.1\"\n      # The dependency kind; can be java, scala, or scala-macro\n      kind: java\n```\n\nTo add dependencies, modify the YAML file and then run the `sync-deps` tool.  This will download all\nof the dependencies, and output a few files:\n\n  - `3rdparty/workspace.bzl` - This file exports a Skylark function for each type of dependency that\n    is being managed.\n\n    For now only Maven dependencies are supported, so there is a function called\n    `maven_dependencies` that is exported.  This function takes a callback argument that will be\n    called for every resolved dependency.  The callback will be called with the following `kwargs`:\n\n      - `artifact` - specifies the Maven coordinates of the artifact as\n        `<groupId>:<artifactId>:<version>` etc.\n      - `name` - specifies a name suitable for use in the `WORKSPACE` e.g. for a `maven_jar` rule.\n      - `jar` - specifies the path to the resolved ijar.\n      - `file` - specifies the path to the resolved JAR file.\n      - `bind_jar` - the system expects this to be re-bound to `jar`.\n      - `bind_file` - the system expects this to be re-bound to `file`.\n      - `sha1` - (optional) specifies the SHA1 of the JAR if it is known.\n\n    You are expected to call this function with a callback similar to the following:\n\n    ```python\n    def declare_maven(name, artifact, jar, file, bind_jar, bind_file, sha1=None):\n      if sha1 == None:\n        # You can also fail here, if preferred\n        print(\"%s does not have a sha1 checksum; integrity cannot be verified\" % artifact)\n        native.maven_jar(name=name, artifact=artifact)\n      else:\n        native.maven_jar(name=name, artifact=artifact, sha1=sha1)\n\n      native.bind(name=bind_jar, actual=jar)\n      native.bind(name=bind_file, actual=file)\n    ```\n  - `3rdparty/jvm` - This directory contains `BUILD` files that group together artifacts with their\n    transitive dependencies in an user-friendly manner.  This lets you refer to dependencies as e.g.\n    `//3rdparty/jvm/com/google/guava` in your actual `java_library` dependencies etc.  The directory\n    structure is derived from the Maven `groupId` and the rule names from the Maven `artifactId` in\n    the case of Maven artifacts.\n  - `3rdparty/dependencies.lock` - Contains checksums for verifying the integrity of the dependency\n    tree.  Use `sync-deps --verify` to check that everything is in sync with the\n    `dependencies.yaml`, for example that a developer has added a dependency while forgetting to run\n    `sync-deps`.\n\n# Code of Conduct\n\nThis project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are\nexpected to honor this code.\n\n[code-of-conduct]: https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md\n"
  },
  {
    "path": "WORKSPACE",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nworkspace(name = \"spotify_bazel_tools\")\n\nload(\"//3rdparty:repositories.bzl\", \"repositories\")\n\nrepositories()\n\nload(\"//3rdparty:workspace.bzl\", \"maven_dependencies\")\n\nmaven_dependencies()\n\nload(\"@maven//:defs.bzl\", \"pinned_maven_install\")\n\npinned_maven_install()\n\nload(\"//:tools.bzl\", \"bazel_tools_repositories\")\n\nbazel_tools_repositories()\n\nload(\"@io_bazel_rules_go//go:deps.bzl\", \"go_register_toolchains\", \"go_rules_dependencies\")\n\ngo_rules_dependencies()\n\ngo_register_toolchains()\n\nload(\"@io_bazel_rules_scala//scala:scala.bzl\", \"scala_repositories\")\n\nscala_repositories()\n\nload(\"@io_bazel_rules_scala//scala:toolchains.bzl\", \"scala_register_toolchains\")\n\nscala_register_toolchains()\n"
  },
  {
    "path": "cli-utils/BUILD",
    "content": "load(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"cli-utils\",\n    javacopts = JAVACOPTS,\n    visibility = [\"//:__subpackages__\"],\n    exports = [\n        \"//cli-utils/src/main/java/com/spotify/bazeltools/cliutils\",\n    ],\n)\n"
  },
  {
    "path": "cli-utils/src/main/java/com/spotify/bazeltools/cliutils/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"cliutils\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//cli-utils:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/ch/qos/logback:logback-classic\",\n        \"//3rdparty/jvm/ch/qos/logback:logback-core\",\n        \"//3rdparty/jvm/com/github/tomas-langer:chalk\",\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n        \"//3rdparty/tools:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "cli-utils/src/main/java/com/spotify/bazeltools/cliutils/Cli.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.bazeltools.cliutils;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.base.Splitter;\n\nimport com.github.tomaslanger.chalk.Chalk;\n\nimport org.slf4j.LoggerFactory;\n\nimport java.util.Locale;\n\nimport ch.qos.logback.classic.Level;\nimport ch.qos.logback.classic.Logger;\nimport ch.qos.logback.classic.LoggerContext;\nimport ch.qos.logback.classic.spi.ILoggingEvent;\nimport ch.qos.logback.classic.spi.IThrowableProxy;\nimport ch.qos.logback.classic.spi.ThrowableProxyUtil;\nimport ch.qos.logback.core.AppenderBase;\n\nimport static org.fusesource.jansi.Ansi.ansi;\n\npublic final class Cli {\n\n  public static final Chalk DEBUG_CHALK = Chalk.on(\"DEBUG\").green();\n\n  private Cli() {\n    throw new IllegalAccessError(\"This class must not be instantiated.\");\n  }\n\n  public static void configureLogging(final String toolName, final boolean verbose) {\n    final LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();\n    final Logger logger = loggerContext.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);\n    final CliAppender appender = CliAppender.create(toolName, verbose);\n    appender.setContext(loggerContext);\n    logger.detachAndStopAllAppenders();\n    logger.addAppender(appender);\n    appender.start();\n  }\n\n  @AutoValue\n  abstract static class CliAppender extends AppenderBase<ILoggingEvent> {\n\n    private static final Chalk ERROR_CHALK = Chalk.on(\"ERROR\").red();\n    private static final Chalk WARN_CHALK = Chalk.on(\" WARN\").yellow();\n    private static final Chalk INFO_CHALK = Chalk.on(\" INFO\").blue();\n    private static final Chalk TRACE_CHALK = Chalk.on(\"TRACE\").gray();\n\n    abstract String toolName();\n\n    abstract boolean verbose();\n\n    Chalk toolChalk() {\n      return Chalk.on(toolName()).bold();\n    }\n\n    static CliAppender create(final String toolName, final boolean verbose) {\n      return new AutoValue_Cli_CliAppender(toolName, verbose);\n    }\n\n    @Override\n    protected void append(final ILoggingEvent eventObject) {\n      final Level level = eventObject.getLevel();\n\n      final Chalk prefix;\n      switch (level.toInt()) {\n        case Level.ERROR_INT:\n          prefix = ERROR_CHALK;\n          break;\n        case Level.WARN_INT:\n          prefix = WARN_CHALK;\n          break;\n        case Level.INFO_INT:\n          prefix = INFO_CHALK;\n          break;\n        case Level.DEBUG_INT:\n          if (!verbose()) {\n            return;\n          }\n          prefix = DEBUG_CHALK;\n          break;\n        case Level.TRACE_INT:\n          if (!verbose()) {\n            return;\n          }\n          prefix = TRACE_CHALK;\n          break;\n        case Level.OFF_INT:\n        case Level.ALL_INT:\n        default:\n          throw new IllegalArgumentException(\"Unexpected log level \" + level);\n      }\n\n      System.err.printf(\n          Locale.ROOT,\n          \"%s %s: %s%n\",\n          toolChalk(),\n          prefix,\n          ansi().render(eventObject.getFormattedMessage()));\n\n      final IThrowableProxy throwableProxy = eventObject.getThrowableProxy();\n      if (throwableProxy != null) {\n        for (final String line :\n            Splitter.on('\\n')\n                .omitEmptyStrings()\n                .split(ThrowableProxyUtil.asString(throwableProxy))) {\n          System.err.printf(Locale.ROOT, \"%s %s: %s%n\", toolChalk(), prefix, line);\n        }\n      }\n    }\n  }\n}\n"
  },
  {
    "path": "depfuzz/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_binary\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\n\njava_binary(\n    name = \"depfuzz\",\n    args = [\n        \"--buildozer\",\n        \"$(location //external:spotify_bazel_tools/dependency/buildtools/buildozer)\",\n        \"--unused-deps\",\n        \"$(location //external:spotify_bazel_tools/dependency/buildtools/unused-deps)\",\n    ],\n    data = [\n        \"//external:spotify_bazel_tools/dependency/buildtools/buildozer\",\n        \"//external:spotify_bazel_tools/dependency/buildtools/unused-deps\",\n    ],\n    javacopts = JAVACOPTS,\n    main_class = \"com.spotify.depfuzz.Main\",\n    runtime_deps = [\n        \"//depfuzz/src/java/com/spotify/depfuzz\",\n    ],\n)\n"
  },
  {
    "path": "depfuzz/README.md",
    "content": "# depfuzz\n\nA tool for removing unused dependencies with a fuzzing strategy.  Analyses `javac` output and tries\nto remove unused dependencies by removing one at a time and seeing if all tests pass.\n\nSome useful commands:\n\n  - Remove all unused dependencies in the repo:\n\n        depfuzz/run //...\n"
  },
  {
    "path": "depfuzz/run",
    "content": "#!/bin/sh -eu\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//depfuzz\nexec \"$script\" -w \"$PWD\" \"$@\"\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"depfuzz\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//depfuzz:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n        \"//cli-utils\",\n        \"//depfuzz/src/java/com/spotify/depfuzz/bazel\",\n        \"//depfuzz/src/java/com/spotify/depfuzz/cli\",\n    ],\n)\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/Main.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.depfuzz;\n\nimport com.google.common.base.Joiner;\nimport com.google.common.collect.ImmutableSet;\nimport com.google.common.collect.Lists;\nimport com.google.common.graph.ImmutableGraph;\nimport com.spotify.bazeltools.cliutils.Cli;\nimport com.spotify.depfuzz.bazel.Bazel;\nimport com.spotify.depfuzz.bazel.Rule;\nimport com.spotify.depfuzz.cli.Options;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.util.Arrays;\nimport java.util.List;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic class Main {\n  private static final Logger LOG = LoggerFactory.getLogger(Main.class);\n\n  private Main() {\n    throw new IllegalAccessError(\"This class must not be instantiated.\");\n  }\n\n  public static void main(String[] args) throws Exception {\n    final Options options = Options.parse(args);\n    final Path workspace = options.workspaceDirectory();\n\n    Cli.configureLogging(\"depfuzz\", options.verbose());\n\n    try {\n      run(options, workspace);\n    } catch (final Exception e) {\n      LOG.error(\"A fatal error occurred\", e);\n      System.exit(1);\n    }\n  }\n\n  private static void run(final Options options, final Path workspace) throws IOException {\n    if (options.targets().isEmpty()) {\n      LOG.error(\"No targets specified; maybe try @|bold '//... except //3rdparty/...'|@?\");\n      System.exit(1);\n      return;\n    }\n\n    final String query =\n        String.format(\n            \"kind('(java|android|scala)_*', %s)\", Joiner.on(\" + \").join(options.targets()));\n    final ImmutableSet<Rule> rules = Bazel.queryRules(workspace, query);\n\n    for (final Rule rule : rules) {\n      LOG.info(\"Processing rule @|bold {}|@\", rule);\n      final ImmutableGraph<String> graph = Bazel.dependencyGraph(workspace, rule);\n\n      if (!graph.nodes().contains(rule.canonical())) {\n        LOG.warn(\"Skipping dangling dependency node @|bold {}|@\", rule);\n        continue;\n      }\n\n      for (final String dependency : graph.successors(rule.canonical())) {\n        LOG.info(\"Will try to remove @|bold,red {}|@ from @|bold {}|@\", dependency, rule);\n        try {\n          if (runBuildozer(options, \"remove deps \" + dependency, rule.raw())) {\n            try {\n              LOG.info(\"Running tests...\");\n              if (Bazel.allTestsPass(workspace)) {\n                LOG.info(\"@|green Success!|@ Keeping change.\");\n              } else {\n                LOG.info(\n                    \"@|red Failure!|@ Adding back @|bold,green {}|@ to @|bold {}|@\",\n                    dependency,\n                    rule);\n                runBuildozer(options, \"add deps \" + dependency, rule.raw());\n              }\n            } catch (Exception e) {\n              LOG.info(\"An error occurred; adding back dependency.\");\n              runBuildozer(options, \"add deps \" + dependency, rule.raw());\n              throw e;\n            }\n          } else {\n            LOG.info(\n                \"@|yellow That made no sense!|@ Left dependency @|bold,yellow {}|@ for @|bold {}|@\",\n                dependency,\n                rule);\n          }\n        } catch (final Exception e) {\n          LOG.info(\n              \"@|red Unexpected error.|@ Left dependency @|bold,yellow {}|@ for @|bold {}|@\",\n              dependency,\n              rule);\n        }\n      }\n    }\n  }\n\n  private static boolean runBuildozer(final Options options, final String... cmd)\n      throws IOException, InterruptedException {\n    final List<String> cmdList = Lists.newArrayList();\n    cmdList.add(options.buildozer().toAbsolutePath().toString());\n    cmdList.addAll(Arrays.asList(cmd));\n\n    final Process process =\n        new ProcessBuilder(cmdList)\n            .inheritIO()\n            .directory(options.workspaceDirectory().toFile())\n            .start();\n\n    try {\n      final int exitCode = process.waitFor();\n\n      if (exitCode == 0) {\n        return true;\n      } else if (exitCode == 3) {\n        return false;\n      } else {\n        LOG.error(\"buildozer failed; exit code \" + exitCode);\n        throw new IOException(\"buildozer failed; exit code \" + exitCode);\n      }\n    } finally {\n      process.destroyForcibly();\n    }\n  }\n}\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/bazel/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"bazel\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//depfuzz:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/tools:auto-value\",\n        \"@io_bazel//src/main/protobuf:build_java_proto\",\n        \"@io_bazel//src/main/protobuf:deps_java_proto\",\n    ],\n)\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/bazel/Bazel.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.depfuzz.bazel;\n\nimport com.google.common.collect.ImmutableMap;\nimport com.google.common.collect.ImmutableSet;\nimport com.google.common.graph.GraphBuilder;\nimport com.google.common.graph.ImmutableGraph;\nimport com.google.common.graph.MutableGraph;\nimport com.google.devtools.build.lib.query2.proto.proto2api.Build;\nimport com.google.devtools.build.lib.view.proto.Deps;\n\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.util.concurrent.atomic.AtomicReference;\nimport java.util.stream.Stream;\n\nimport static java.nio.charset.StandardCharsets.UTF_8;\n\npublic class Bazel {\n\n  private Bazel() {\n    throw new IllegalAccessError(\"This class must not be instantiated.\");\n  }\n\n  public static ImmutableSet<Rule> queryRules(final Path workspace, final String query)\n      throws IOException {\n    final Process process =\n        new ProcessBuilder(\"bazel\", \"query\", \"--output=label\", query)\n            .redirectError(ProcessBuilder.Redirect.INHERIT)\n            .redirectOutput(ProcessBuilder.Redirect.PIPE)\n            .directory(workspace.toFile())\n            .start();\n\n    try (BufferedReader reader =\n        new BufferedReader(new InputStreamReader(process.getInputStream(), UTF_8))) {\n      return reader.lines().map(Rule::parse).collect(ImmutableSet.toImmutableSet());\n    } finally {\n      process.destroyForcibly();\n    }\n  }\n\n  public static boolean allTestsPass(final Path workspace)\n      throws IOException, InterruptedException {\n    final Process process =\n        new ProcessBuilder(\"bazel\", \"test\", \"//...\")\n            .inheritIO()\n            .directory(workspace.toFile())\n            .start();\n\n    return 0 == process.waitFor();\n  }\n\n  public static ImmutableGraph<String> dependencyGraph(final Path workspace, final Rule rule)\n      throws IOException {\n    final Process process =\n        new ProcessBuilder(\"bazel\", \"query\", \"--output=proto\", \"deps(\" + rule + \") + \" + rule)\n            .redirectError(ProcessBuilder.Redirect.INHERIT)\n            .redirectOutput(ProcessBuilder.Redirect.PIPE)\n            .directory(workspace.toFile())\n            .start();\n\n    try {\n      final Build.QueryResult queryResult = Build.QueryResult.parseFrom(process.getInputStream());\n\n      final MutableGraph<String> graph =\n          GraphBuilder.directed().expectedNodeCount(queryResult.getTargetCount()).build();\n\n      for (final Build.Target protoTarget : queryResult.getTargetList()) {\n        final String name = protoTarget.getRule().getName();\n        graph.addNode(name);\n\n        for (final String dependency : protoTarget.getRule().getRuleInputList()) {\n          graph.putEdge(name, dependency);\n        }\n      }\n\n      return ImmutableGraph.copyOf(graph);\n    } finally {\n      process.destroyForcibly();\n    }\n  }\n\n  enum State {\n    START,\n    JAR,\n    TARGET\n  }\n\n  public static ImmutableMap<String, Rule> directDeps(final Path workspace, final Rule rule)\n      throws IOException {\n    final Path bazelBin = workspace.resolve(\"bazel-bin\");\n    final Path jarParamsFile = inputFile(bazelBin, rule.pkg(), rule.name(), \"jar-2.params\");\n\n    if (Files.exists(jarParamsFile)) {\n      final ImmutableMap.Builder<String, Rule> resultBuilder = ImmutableMap.builder();\n      try (final Stream<String> lines = Files.lines(jarParamsFile, UTF_8)) {\n        final AtomicReference<State> state = new AtomicReference<>(State.START);\n        final AtomicReference<String> lastJar = new AtomicReference<>();\n\n        lines.forEach(\n            line -> {\n              switch (state.get()) {\n                case START:\n                  if (line.equals(\"--direct_dependency\")) {\n                    state.set(State.JAR);\n                  }\n                  break;\n                case JAR:\n                  lastJar.set(line);\n                  state.set(State.TARGET);\n                  break;\n                case TARGET:\n                  resultBuilder.put(lastJar.get(), Rule.parse(line));\n                  state.set(State.START);\n                  break;\n              }\n            });\n      }\n\n      return resultBuilder.build();\n    } else {\n      return ImmutableMap.of();\n    }\n  }\n\n  public static ImmutableSet<String> potentiallyUnusedDependencyJars(\n      final Path workspace, final Rule rule) throws IOException {\n    final Path bazelBin = workspace.resolve(\"bazel-bin\");\n    final Path jdepsFile = inputFile(bazelBin, rule.pkg(), rule.name(), \"jdeps\");\n\n    if (Files.exists(jdepsFile)) {\n      final ImmutableSet.Builder<String> resultBuilder = ImmutableSet.builder();\n      final Deps.Dependencies dependencies =\n          Deps.Dependencies.parseFrom(Files.readAllBytes(jdepsFile));\n\n      for (final Deps.Dependency dependency : dependencies.getDependencyList()) {\n        if (dependency.getKind() != Deps.Dependency.Kind.EXPLICIT) {\n          resultBuilder.add(dependency.getPath());\n        }\n      }\n\n      return resultBuilder.build();\n    } else {\n      return ImmutableSet.of();\n    }\n  }\n\n  public static Path inputFile(\n      final Path bazelBin, final String pkg, final String ruleName, final String extension) {\n    final Path libCandidate = bazelBin.resolve(pkg).resolve(\"lib\" + ruleName + \".\" + extension);\n    if (Files.exists(libCandidate)) {\n      return libCandidate;\n    } else {\n      return bazelBin.resolve(pkg).resolve(ruleName + \".\" + extension);\n    }\n  }\n}\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/bazel/Rule.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.depfuzz.bazel;\n\nimport com.google.auto.value.AutoValue;\nimport java.util.Optional;\n\n@AutoValue\npublic abstract class Rule {\n  Rule() {}\n\n  public abstract Optional<String> workspace();\n\n  public abstract String pkg();\n\n  public abstract String name();\n\n  public String raw() {\n    final String prefix = workspace().map(w -> \"@\" + w).orElse(\"\") + \"//\";\n    if (pkg().endsWith(name())) {\n      return prefix + pkg();\n    } else {\n      return prefix + pkg() + \":\" + name();\n    }\n  }\n\n  public String canonical() {\n    final String prefix = workspace().map(w -> \"@\" + w).orElse(\"\") + \"//\";\n    return prefix + pkg() + \":\" + name();\n  }\n\n  @Override\n  public final String toString() {\n    return raw();\n  }\n\n  public static Rule parse(final String raw) {\n    final int startIndex = raw.indexOf(\"//\");\n\n    final Optional<String> workspace;\n    if (raw.startsWith(\"@\")) {\n      int workspaceStart = 0;\n      while (workspaceStart < raw.length() && raw.charAt(workspaceStart) == '@') {\n        workspaceStart++;\n      }\n      workspace = Optional.of(raw.substring(workspaceStart, startIndex));\n    } else {\n      workspace = Optional.empty();\n    }\n\n    final int colonIndex = raw.indexOf(':');\n\n    if (colonIndex >= 0) {\n      final String pkg = raw.substring(startIndex + 2, colonIndex);\n      final String name = raw.substring(colonIndex + 1);\n      return Rule.create(workspace, pkg, name);\n    } else {\n      final String pkg = raw.substring(startIndex + 2);\n      final String name = raw.substring(raw.lastIndexOf('/') + 1, raw.length());\n      return Rule.create(workspace, pkg, name);\n    }\n  }\n\n  @SuppressWarnings(\"OptionalUsedAsFieldOrParameterType\")\n  public static Rule create(final Optional<String> workspace, final String pkg, final String name) {\n    return new AutoValue_Rule(workspace, pkg, name);\n  }\n}\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/cli/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"cli\",\n    srcs = [\"Options.java\"],\n    javacopts = JAVACOPTS,\n    visibility = [\"//depfuzz:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/net/sf/jopt-simple\",\n        \"//3rdparty/tools:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "depfuzz/src/java/com/spotify/depfuzz/cli/Options.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.depfuzz.cli;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.collect.ImmutableSet;\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.util.Arrays;\nimport joptsimple.NonOptionArgumentSpec;\nimport joptsimple.OptionParser;\nimport joptsimple.OptionSet;\nimport joptsimple.OptionSpec;\n\n@AutoValue\npublic abstract class Options {\n  Options() {}\n\n  public abstract Path workspaceDirectory();\n\n  public abstract Path unusedDeps();\n\n  public abstract Path buildozer();\n\n  public abstract ImmutableSet<String> targets();\n\n  public abstract boolean verbose();\n\n  public static Options parse(final String... args) throws IOException {\n    final OptionParser parser = new OptionParser();\n\n    final OptionSpec<Void> helpFlag = parser.accepts(\"help\").forHelp();\n    final OptionSpec<Void> verboseFlag = parser.acceptsAll(Arrays.asList(\"v\", \"verbose\"));\n    final OptionSpec<File> workspaceDirectoryArgument =\n        parser\n            .acceptsAll(Arrays.asList(\"workspace-directory\", \"w\"))\n            .withRequiredArg()\n            .ofType(File.class);\n    final OptionSpec<File> unusedDepsArgument =\n        parser.accepts(\"unused-deps\").withRequiredArg().ofType(File.class);\n    final OptionSpec<File> buildozerArgument =\n        parser.accepts(\"buildozer\").withRequiredArg().ofType(File.class);\n    final NonOptionArgumentSpec<String> targetsArgument = parser.nonOptions().ofType(String.class);\n\n    final OptionSet optionSet = parser.parse(args);\n\n    if (optionSet.has(helpFlag)) {\n      parser.printHelpOn(System.err);\n      throw new IllegalStateException(\"Help requested\"); // TODO(dflemstr): hack\n    }\n\n    // TODO(dflemstr): better error handling for missing args\n    return create(\n        workspaceDirectoryArgument.value(optionSet).toPath(),\n        unusedDepsArgument.value(optionSet).toPath(),\n        buildozerArgument.value(optionSet).toPath(),\n        ImmutableSet.copyOf(targetsArgument.values(optionSet)),\n        optionSet.has(verboseFlag));\n  }\n\n  public static Options create(\n      final Path workspaceDirectory,\n      final Path unusedDeps,\n      final Path buildozer,\n      final ImmutableSet<String> targets,\n      final boolean verbose) {\n    return new AutoValue_Options(workspaceDirectory, unusedDeps, buildozer, targets, verbose);\n  }\n}\n"
  },
  {
    "path": "expand-macros/README.md",
    "content": "# expand-macros\n\nA tool for expanding Bazel macros into the rules that they generate.\n\nSome useful commands:\n\n  - Expand `java_tests` into individual `java_test` rules:\n\n        expand-macros/run java_tests\n        \n    After doing this, it is recommended to run `buildifier` to make the `BUILD` files readable\n    again, and `depfuzz` to remove dependencies that might be unused for each expanded rule.\n"
  },
  {
    "path": "expand-macros/run",
    "content": "#!/bin/sh -eu\nif [ $# -lt 1 ]\nthen\n    echo >&2 \"Usage: $0 <macro name>\"\n    exit 1\nfi\n\nmacro=$1\nouter_query=\"attr(generator_function, $macro, //...)\"\n\nbazel build //external:spotify_bazel_tools/dependency/buildtools/buildozer\nbuildozer=bazel-bin/external/io_bazel_buildtools/buildozer/buildozer\n\nbazel query --output package \"$outer_query\" | while read -r pkg\ndo\n    query=\"attr(generator_function, $macro, //$pkg:*)\"\n    build=$(bazel query --output build \"$query\" | grep -v '^  generator_' | grep -v '^#' | sed -e \"s;//$pkg:;;g\")\n\n    \"$buildozer\" \"delete\" \"//$pkg:%$macro\"\n    echo \"$build\" >> \"$pkg/BUILD\"\ndone\n"
  },
  {
    "path": "format/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_binary\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\n\njava_binary(\n    name = \"format\",\n    args = [\n        \"--buildifier\",\n        \"$(location //external:spotify_bazel_tools/dependency/buildtools/buildifier)\",\n    ],\n    data = [\n        \"//external:spotify_bazel_tools/dependency/buildtools/buildifier\",\n    ],\n    javacopts = JAVACOPTS,\n    main_class = \"com.spotify.format.Main\",\n    runtime_deps = [\n        \"//format/src/main/java/com/spotify/format\",\n    ],\n)\n"
  },
  {
    "path": "format/README.md",
    "content": "# format\n\nA tool for formatting all files in the repository according to common style guides.\n\nSome useful commands:\n\n  - Fix the code style of everything in the repository\n\n        format/run\n"
  },
  {
    "path": "format/run",
    "content": "#!/bin/sh -eu\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//format\nexec \"$script\" -w \"$PWD\" \"$@\"\n"
  },
  {
    "path": "format/src/main/java/com/spotify/format/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"format\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//visibility:public\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/errorprone:error_prone_annotations\",\n        \"//3rdparty/jvm/com/google/googlejavaformat:google-java-format\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/net/sf/jopt-simple\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n        \"//3rdparty/tools:auto-value\",\n        \"//cli-utils\",\n        \"//format/src/main/scala/com/spotify/format\",\n    ],\n)\n"
  },
  {
    "path": "format/src/main/java/com/spotify/format/Main.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.format;\n\nimport static java.nio.charset.StandardCharsets.UTF_8;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.hash.HashCode;\nimport com.google.common.hash.Hashing;\nimport com.google.common.io.CharStreams;\nimport com.google.common.io.MoreFiles;\nimport com.google.errorprone.annotations.MustBeClosed;\nimport com.google.googlejavaformat.java.Formatter;\nimport com.google.googlejavaformat.java.FormatterException;\nimport com.google.googlejavaformat.java.JavaFormatterOptions;\nimport com.spotify.bazeltools.cliutils.Cli;\nimport java.io.BufferedReader;\nimport java.io.File;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.StringWriter;\nimport java.io.UncheckedIOException;\nimport java.nio.charset.StandardCharsets;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.PathMatcher;\nimport java.util.Arrays;\nimport java.util.Set;\nimport java.util.concurrent.ConcurrentSkipListSet;\nimport java.util.stream.Stream;\nimport joptsimple.AbstractOptionSpec;\nimport joptsimple.OptionParser;\nimport joptsimple.OptionSet;\nimport joptsimple.OptionSpec;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic final class Main {\n  private static final Logger LOG = LoggerFactory.getLogger(Main.class);\n\n  private Main() {}\n\n  public static void main(String[] args) throws IOException {\n    final OptionParser optionParser = new OptionParser();\n\n    final OptionSpec<File> workspaceArgument =\n        optionParser.accepts(\"workspace-directory\").withRequiredArg().ofType(File.class);\n    final OptionSpec<File> buildifierArgument =\n        optionParser.accepts(\"buildifier\").withRequiredArg().ofType(File.class);\n    final OptionSpec<Void> verifyFlag = optionParser.accepts(\"verify\");\n    final OptionSpec<Void> gitChanges = optionParser.accepts(\"git-changes\");\n\n    final AbstractOptionSpec<Void> helpFlag = optionParser.accepts(\"help\").forHelp();\n    final AbstractOptionSpec<Void> verboseFlag =\n        optionParser.acceptsAll(Arrays.asList(\"verbose\", \"v\"));\n\n    final OptionSet optionSet = optionParser.parse(args);\n\n    Cli.configureLogging(\"format\", optionSet.has(verboseFlag));\n\n    if (optionSet.has(helpFlag)) {\n      optionParser.printHelpOn(System.err);\n      System.exit(0);\n      return;\n    }\n\n    final Path workspaceDirectory;\n    if (optionSet.has(workspaceArgument)) {\n      workspaceDirectory = optionSet.valueOf(workspaceArgument).toPath();\n    } else {\n      LOG.error(\"Mandatory flag --workspace-directory missing (see --help)\");\n      System.exit(1);\n      return;\n    }\n\n    final Path buildifier;\n    if (optionSet.has(buildifierArgument)) {\n      buildifier = optionSet.valueOf(buildifierArgument).toPath();\n    } else {\n      LOG.error(\"Mandatory flag --buildifier missing (see --help)\");\n      System.exit(1);\n      return;\n    }\n\n    try {\n      run(workspaceDirectory, buildifier, optionSet.has(verifyFlag), optionSet.has(gitChanges));\n    } catch (final Exception e) {\n      LOG.error(\"A fatal error occurred\", e);\n      System.exit(1);\n    }\n  }\n\n  private static void run(\n      final Path workspaceDirectory,\n      final Path buildifier,\n      final boolean verify,\n      final boolean gitChanges)\n      throws IOException {\n\n    final JavaFormatterOptions options =\n        JavaFormatterOptions.builder().style(JavaFormatterOptions.Style.GOOGLE).build();\n\n    final Formatter formatter = new Formatter(options);\n    final Set<Path> malformattedPaths = new ConcurrentSkipListSet<>();\n\n    final Sources sources;\n    if (gitChanges) {\n      final ImmutableList<Path> paths = listGitChanges(workspaceDirectory);\n      sources = new GitChangesSources(paths);\n    } else {\n      sources = new AllSources();\n    }\n\n    LOG.info(\"Processing Java files...\");\n    try (final Stream<Path> javaFiles =\n        sources.findFilesMatching(workspaceDirectory, \"glob:**/*\" + \".java\")) {\n      javaFiles\n          .parallel()\n          .forEach(\n              javaFile ->\n                  handleResult(formatJavaFile(formatter, javaFile), verify, malformattedPaths));\n    }\n\n    LOG.info(\"Processing Scala files...\");\n    try (final Stream<Path> scalaFiles =\n        sources.findFilesMatching(workspaceDirectory, \"glob:**/*.scala\")) {\n      scalaFiles\n          .parallel()\n          .forEach(\n              scalaFile -> handleResult(formatScalaFile(scalaFile), verify, malformattedPaths));\n    }\n\n    LOG.info(\"Processing Bazel BUILD files...\");\n    try (final Stream<Path> buildFiles =\n        sources.findFilesMatching(workspaceDirectory, \"glob:**/BUILD\")) {\n      buildFiles\n          .parallel()\n          .forEach(\n              buildFile ->\n                  handleResult(formatBuildFile(buildifier, buildFile), verify, malformattedPaths));\n    }\n\n    LOG.info(\"Processing Bazel WORKSPACE files...\");\n    try (final Stream<Path> workspaceFiles =\n        sources.findFilesMatching(workspaceDirectory, \"glob:**/WORKSPACE\")) {\n      workspaceFiles\n          .parallel()\n          .forEach(\n              workspaceFile ->\n                  handleResult(\n                      formatBuildFile(buildifier, workspaceFile), verify, malformattedPaths));\n    }\n\n    if (!malformattedPaths.isEmpty()) {\n      LOG.error(\"There are malformatted files, please run 'tools/format/run'!\");\n      LOG.error(\"Malformatted file paths are:\");\n      for (final Path malformattedPath : malformattedPaths) {\n        LOG.error(\"  - {}\", workspaceDirectory.relativize(malformattedPath));\n      }\n      System.exit(1);\n    }\n  }\n\n  private static void handleResult(\n      final FormattingResult formattingResult,\n      final boolean verify,\n      final Set<Path> malformedPaths) {\n    // Use hashing to avoid loading the file into memory... We should probably also do this for\n    // FormattingResult to be fair.\n    final HashCode oldHash;\n    try {\n      oldHash = MoreFiles.asByteSource(formattingResult.path()).hash(Hashing.sha256());\n    } catch (final IOException e) {\n      throw new UncheckedIOException(\"Could not hash contents of \" + formattingResult.path(), e);\n    }\n    final HashCode newHash =\n        Hashing.sha256().hashBytes(formattingResult.contents().getBytes(StandardCharsets.UTF_8));\n    if (!oldHash.equals(newHash)) {\n      if (verify) {\n        malformedPaths.add(formattingResult.path());\n      } else {\n        try {\n          Files.write(formattingResult.path(), formattingResult.contents().getBytes(UTF_8));\n        } catch (final IOException e) {\n          throw new UncheckedIOException(\"Could not write file \" + formattingResult.path(), e);\n        }\n      }\n    }\n  }\n\n  private static FormattingResult formatBuildFile(final Path buildifier, final Path buildFile) {\n    final Process process;\n    try {\n      process =\n          new ProcessBuilder()\n              .command(buildifier.toString())\n              .redirectInput(buildFile.toFile())\n              .redirectOutput(ProcessBuilder.Redirect.PIPE)\n              .redirectError(ProcessBuilder.Redirect.INHERIT)\n              .start();\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Unable to run buildifier on \" + buildFile, e);\n    }\n\n    final StringWriter writer = new StringWriter();\n    try (final InputStreamReader reader = new InputStreamReader(process.getInputStream(), UTF_8)) {\n      CharStreams.copy(reader, writer);\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Unable to read buildifier output for \" + buildFile, e);\n    }\n\n    final int exitCode;\n    try {\n      exitCode = process.waitFor();\n    } catch (final InterruptedException e) {\n      throw new IllegalStateException(\"Interrupted while formatting file \" + buildFile, e);\n    }\n\n    if (exitCode != 0) {\n      throw new IllegalStateException(\"Unable to format file \" + buildFile);\n    }\n\n    return FormattingResult.create(buildFile, writer.toString());\n  }\n\n  private static FormattingResult formatJavaFile(final Formatter formatter, final Path javaFile) {\n    return FormattingResult.create(\n        javaFile, formatJavaSource(formatter, javaFile, readFile(javaFile)));\n  }\n\n  private static FormattingResult formatScalaFile(final Path scalaFile) {\n    return FormattingResult.create(scalaFile, formatScalaSource(scalaFile, readFile(scalaFile)));\n  }\n\n  private static String formatJavaSource(\n      final Formatter formatter, final Path javaFile, final String source) {\n    final String formattedSource;\n    try {\n      formattedSource = formatter.formatSource(source);\n    } catch (final FormatterException e) {\n      throw new IllegalStateException(\"Could not format source in file \" + javaFile, e);\n    }\n    return formattedSource;\n  }\n\n  private static String formatScalaSource(final Path scalaFile, final String source) {\n    final String formattedSource;\n    try {\n      formattedSource = ScalaFmt.format(source);\n    } catch (final Exception e) {\n      throw new IllegalStateException(\"Could not format source in file \" + scalaFile, e);\n    }\n    return formattedSource;\n  }\n\n  private static ImmutableList<Path> listGitChanges(final Path root) {\n    final Process process;\n    try {\n      process =\n          new ProcessBuilder()\n              .directory(root.toFile())\n              .command(\"git\", \"status\", \"--porcelain\", \"--no-renames\")\n              .redirectOutput(ProcessBuilder.Redirect.PIPE)\n              .redirectError(ProcessBuilder.Redirect.INHERIT)\n              .start();\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Unable to run git chagnes\", e);\n    }\n\n    final int exitCode;\n    try {\n      exitCode = process.waitFor();\n    } catch (final InterruptedException e) {\n      throw new IllegalStateException(\"Interrupted while git changes\", e);\n    }\n\n    if (exitCode != 0) {\n      throw new IllegalStateException(\"Unable list git changes exit code: \" + exitCode);\n    }\n\n    final ImmutableList.Builder<Path> changes = ImmutableList.builder();\n    try (final BufferedReader reader =\n        new BufferedReader(new InputStreamReader(process.getInputStream(), UTF_8))) {\n      while (reader.ready()) {\n        final String line = reader.readLine().trim();\n\n        if (!line.isEmpty()) {\n          final String relativePath = line.substring(line.indexOf(' ') + 1);\n          changes.add(root.resolve(relativePath).toAbsolutePath());\n        }\n      }\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Unable to read git output\", e);\n    }\n\n    return changes.build();\n  }\n\n  private static String readFile(final Path javaFile) {\n    final String source;\n    try {\n      source = new String(Files.readAllBytes(javaFile), UTF_8);\n    } catch (final IOException e) {\n      throw new UncheckedIOException(\"Could not read file \" + javaFile, e);\n    }\n    return source;\n  }\n\n  private interface Sources {\n    @MustBeClosed\n    Stream<Path> findFilesMatching(Path directory, String syntaxAndPattern) throws IOException;\n  }\n\n  private static class AllSources implements Sources {\n    @MustBeClosed\n    @Override\n    public Stream<Path> findFilesMatching(final Path directory, final String syntaxAndPattern)\n        throws IOException {\n      final PathMatcher matcher = directory.getFileSystem().getPathMatcher(syntaxAndPattern);\n      return Files.find(\n          directory, Integer.MAX_VALUE, (p, a) -> matcher.matches(p) && !a.isDirectory());\n    }\n  }\n\n  private static class GitChangesSources implements Sources {\n    private final ImmutableList<Path> sources;\n\n    private GitChangesSources(final ImmutableList<Path> sources) {\n      this.sources = sources;\n    }\n\n    @MustBeClosed\n    @Override\n    public Stream<Path> findFilesMatching(final Path directory, final String syntaxAndPattern) {\n      final PathMatcher matcher = directory.getFileSystem().getPathMatcher(syntaxAndPattern);\n      return sources.stream().filter(matcher::matches);\n    }\n  }\n\n  @AutoValue\n  abstract static class FormattingResult {\n\n    abstract Path path();\n\n    abstract String contents();\n\n    static FormattingResult create(final Path path, final String contents) {\n      return new AutoValue_Main_FormattingResult(path, contents);\n    }\n  }\n}\n"
  },
  {
    "path": "format/src/main/scala/com/spotify/format/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"@io_bazel_rules_scala//scala:scala.bzl\", \"scala_library\")\n\nscala_library(\n    name = \"format\",\n    srcs = glob([\"*.scala\"]),\n    visibility = [\"//format:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/geirsson:metaconfig-core\",\n        \"//3rdparty/jvm/com/geirsson:scalafmt-core\",\n    ],\n)\n"
  },
  {
    "path": "format/src/main/scala/com/spotify/format/ScalaFmt.scala",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.format\n\nimport org.scalafmt.Scalafmt\n\n/**\n  * Why this silly wrapper you might wonder?\n  *\n  * Well, calling Scala code from Java sucks when the Scala code has default values as you need to\n  * provide them in Java. Even worse, it sucks even more when the parameters are Scala primitives.\n  * To top it off, the default option method name is 'default' which is a reserved keyword in Java..\n  */\nobject ScalaFmt {\n\n  def format(source: String): String = {\n    Scalafmt.format(source).get\n  }\n}\n"
  },
  {
    "path": "integration-test",
    "content": "#!/usr/bin/env python\nfrom __future__ import print_function\n\nimport os\nimport shutil\nimport subprocess\nimport tempfile\nfrom os import path\n\nWORKSPACE_TEMPLATE_PREFIX = '''\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\n\nrules_jvm_external_version = \"3.0\" # branch master\n\nhttp_archive(\n    name = \"rules_jvm_external\",\n    sha256 = \"62133c125bf4109dfd9d2af64830208356ce4ef8b165a6ef15bbff7460b35c3a\",\n    strip_prefix = \"rules_jvm_external-%s\" % rules_jvm_external_version,\n    url = \"https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip\" % rules_jvm_external_version,\n)\n\nrules_go_version = \"a667c18bef6ec5a11f1cbf40b219d541c48e942e\"\n\nhttp_archive(\n    name = \"io_bazel_rules_go\",\n    sha256 = \"03fe1d6c9a5b8c554170e9a618101d7b5e07e7f638ccd45d5cd6ae9a44b32123\",\n    strip_prefix = \"rules_go-%s\" % rules_go_version,\n    urls = [\"https://github.com/bazelbuild/rules_go/archive/%s.zip\" % rules_go_version],\n)\n\nrules_scala_version = \"6c16cff213b76a4126bdc850956046da5db1daaa\"\n\nhttp_archive(\n    name = \"io_bazel_rules_scala\",\n    sha256 = \"132cf8eeaab67f3142cec17152b8415901e7fa8396dd585d6334eec21bf7419d\",\n    strip_prefix = \"rules_scala-%s\" % rules_scala_version,\n    urls = [\"https://github.com/bazelbuild/rules_scala/archive/%s.zip\" % rules_scala_version],\n)\n\nrules_python_version = \"38f86fb55b698c51e8510c807489c9f4e047480e\"\n\nhttp_archive(\n    name = \"rules_python\",\n    sha256 = \"7d64815f4b22400bed0f1b9da663037e1578573446b7bc78f20f24b2b5459bb9\",\n    strip_prefix = \"rules_python-%s\" % rules_python_version,\n    urls = [\"https://github.com/bazelbuild/rules_python/archive/%s.zip\" % rules_python_version],\n)\n'''\n\nWORKSPACE_TEMPLATE_SUFFIX = '''\nload(\"@io_bazel_rules_go//go:deps.bzl\", \"go_rules_dependencies\", \"go_register_toolchains\")\n\ngo_rules_dependencies()\n\ngo_register_toolchains()\n\nload(\"@io_bazel_rules_scala//scala:scala.bzl\", \"scala_repositories\")\n\nscala_repositories()\n\nload(\"@io_bazel_rules_scala//scala:toolchains.bzl\", \"scala_register_toolchains\")\n\nscala_register_toolchains()\n'''\n\n\ndef main():\n    d = tempfile.mkdtemp()\n    try:\n        commit_sha = subprocess.check_output(['git', 'rev-parse', 'HEAD']).strip().decode('utf-8')\n\n        with open(path.join(d, 'WORKSPACE'), 'w') as f:\n            f.write(WORKSPACE_TEMPLATE_PREFIX)\n            f.writelines([\n                'spotify_bazel_tools_version=\"{}\"\\n'.format(commit_sha),\n                '\\n',\n                'http_archive(\\n',\n                '    name = \"spotify_bazel_tools\",\\n',\n                '    strip_prefix = \"bazel-tools-%s\" % (spotify_bazel_tools_version),\\n',\n                '    urls = [\"https://github.com/spotify/bazel-tools/archive/%s.zip\" % '\n                '(spotify_bazel_tools_version,)],\\n',\n                ')\\n',\n                '\\n',\n                'load(\"@spotify_bazel_tools//:tools.bzl\", \"bazel_tools_repositories\")\\n',\n                'bazel_tools_repositories()\\n',\n                'load(\"@spotify_bazel_tools//3rdparty:repositories.bzl\", \"repositories\")\\n',\n                'repositories()\\n',\n                'load(\"@spotify_bazel_tools//3rdparty:workspace.bzl\", \"maven_dependencies\")\\n',\n                'maven_dependencies()\\n',\n            ])\n            f.write(WORKSPACE_TEMPLATE_SUFFIX)\n\n        third_party_dir = path.join(d, '3rdparty')\n        os.mkdir(third_party_dir)\n        shutil.copyfile(path.join('3rdparty', 'BUILD'), path.join(third_party_dir, 'BUILD'))\n        shutil.copyfile(path.join('3rdparty', 'dependencies.yaml'), path.join(third_party_dir, 'dependencies.yaml'))\n        shutil.copyfile(path.join('3rdparty', 'maven-install.json'), path.join(third_party_dir, 'maven-install.json'))\n\n        subprocess.check_call(['bazel', 'build', '@spotify_bazel_tools//...'], cwd=d)\n\n        subprocess.check_call(['bazel', 'run', '@spotify_bazel_tools//sync-deps', '--', '-w', d], cwd=d)\n        subprocess.check_call(['bazel', 'run', '@spotify_bazel_tools//format', '--', '-w', d], cwd=d)\n    finally:\n        subprocess.check_call(['bazel', 'shutdown'], cwd=d)\n        shutil.rmtree(d)\n\n\nif __name__ == '__main__':\n    main()\n"
  },
  {
    "path": "sync-deps/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_binary\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\njava_binary(\n    name = \"sync-deps\",\n    srcs = glob([\"src/main/java/**/*.java\"]),\n    args = [\n        \"--buildifier\",\n        \"$(location //external:spotify_bazel_tools/dependency/buildtools/buildifier)\",\n    ],\n    data = [\n        \"//external:spotify_bazel_tools/dependency/buildtools/buildifier\",\n    ],\n    main_class = \"com.spotify.syncdeps.Main\",\n    runtime_deps = [\n        \"//3rdparty/jvm/ch/qos/logback:logback-classic\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/README.md",
    "content": "# sync-deps\n\nA tool for synchronizing third-party dependencies.  Synchronizes the `3rdparty/dependencies.yaml`\nfile with the dependency tree, making dependencies available for use and resolving version\nconflicts.\n\nSome useful commands:\n\n  - Add a dependency in `3rdparty/dependencies.yaml`, then run:\n\n        sync-deps/run\n\n    This will resolve the dependency graph of the repository, and commit the result to:\n\n        3rdparty/jvm\n        3rdparty/dependencies.lock\n        3rdparty/workspace.bzl\n"
  },
  {
    "path": "sync-deps/run",
    "content": "#!/bin/sh -eu\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//sync-deps\nexec \"$script\" -w \"$PWD\" \"$@\"\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"syncdeps\",\n    srcs = glob([\"*.java\"]),\n    data = [\n        \"//3rdparty:dependencies.yaml\",\n    ],\n    javacopts = JAVACOPTS,\n    visibility = [\"//visibility:public\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n        \"//cli-utils\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/cli\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/config\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/model\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/util\",\n        \"//sync-deps/src/main/resources\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/Main.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps;\n\nimport static java.nio.charset.StandardCharsets.UTF_8;\nimport static java.nio.file.attribute.PosixFilePermissions.asFileAttribute;\nimport static java.nio.file.attribute.PosixFilePermissions.fromString;\nimport static java.util.stream.Collectors.joining;\n\nimport com.google.common.base.Strings;\nimport com.google.common.collect.ImmutableSet;\nimport com.google.common.hash.HashCode;\nimport com.google.common.io.Resources;\nimport com.spotify.bazeltools.cliutils.Cli;\nimport com.spotify.syncdeps.cli.Options;\nimport com.spotify.syncdeps.config.Dependencies;\nimport com.spotify.syncdeps.model.GitHubDependency;\nimport com.spotify.syncdeps.model.MavenCoords;\nimport com.spotify.syncdeps.model.MavenDependency;\nimport com.spotify.syncdeps.util.PathUtils;\nimport java.io.BufferedWriter;\nimport java.io.IOException;\nimport java.io.PrintWriter;\nimport java.io.StringWriter;\nimport java.io.UncheckedIOException;\nimport java.io.Writer;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.attribute.FileAttribute;\nimport java.nio.file.attribute.PosixFilePermission;\nimport java.text.ParseException;\nimport java.util.List;\nimport java.util.Set;\nimport java.util.stream.Collectors;\nimport java.util.stream.Stream;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic final class Main {\n\n  private static final Logger LOG = LoggerFactory.getLogger(Main.class);\n\n  private static final FileAttribute<Set<PosixFilePermission>> FILE_PERMISSIONS =\n      asFileAttribute(fromString(\"rw-r--r--\"));\n  private static final FileAttribute<Set<PosixFilePermission>> DIR_PERMISSIONS =\n      asFileAttribute(fromString(\"rwxr-xr-x\"));\n\n  private Main() {}\n\n  public static void main(String[] args) throws IOException {\n    final Options options = Options.parse(args);\n\n    Cli.configureLogging(\"sync-deps\", options.verbose());\n\n    try {\n      run(options);\n    } catch (final Exception e) {\n      LOG.error(\"A fatal error occurred\", e);\n      System.exit(1);\n    }\n  }\n\n  private static void run(final Options options)\n      throws IOException, ParseException, InterruptedException {\n    final Path relativeLockFile = options.workspaceDirectory().relativize(options.lockFile());\n    if (options.verify()) {\n      LOG.info(\"Verifying integrity of @|bold {}|@\", relativeLockFile);\n\n      final String lockContents = createLockContents(options);\n      final boolean lockFileUpToDate =\n          Files.exists(options.lockFile())\n              && new String(Files.readAllBytes(options.lockFile()), UTF_8).equals(lockContents);\n      if (!lockFileUpToDate) {\n        LOG.error(\n            \"Integrity violation in @|bold {}|@; please run @|bold sync-deps/run|@\",\n            relativeLockFile);\n        System.exit(1);\n      }\n    } else {\n      LOG.info(\"Reading dependency graph\");\n      final Dependencies dependencies = Dependencies.parseYaml(options.inputFile());\n\n      LOG.info(\"Resolving dependencies\");\n      final ImmutableSet<MavenDependency> mavenDependencies =\n          dependencies.toMavenLeafDependencies();\n      final ImmutableSet<MavenCoords> mavenExcludedDependencies =\n          dependencies.options().excludedDependencies();\n\n      final ImmutableSet<GitHubDependency> gitHubDependencies =\n          dependencies\n              .github()\n              .entrySet()\n              .stream()\n              .map(\n                  e ->\n                      GitHubDependency.create(\n                          e.getKey(),\n                          e.getValue().repo(),\n                          e.getValue().commit(),\n                          e.getValue().branch(),\n                          e.getValue().tag(),\n                          e.getValue().release(),\n                          e.getValue().stripPrefix()))\n              .collect(ImmutableSet.toImmutableSet());\n\n      final Path workspaceFile = options.workspaceFile();\n      final Path repositoryFile = options.repositoryFile();\n      final Path jvmDirectory = options.thirdPartyDirectory().resolve(\"jvm\");\n      final Path relativeWorkspaceFile = options.workspaceDirectory().relativize(workspaceFile);\n      final Path relativeRepositoryFile = options.workspaceDirectory().relativize(repositoryFile);\n      final Path relativeJvmDirectory = options.workspaceDirectory().relativize(jvmDirectory);\n\n      final Path newWorkspaceFile =\n          writeNewWorkspaceFile(\n              options, dependencies.options(), mavenDependencies, mavenExcludedDependencies);\n\n      final Path newRepositoryFile = writeNewRepositoryFile(options, gitHubDependencies);\n\n      final Path newJvmDirectory = writeNewJvmDirectory(options, mavenDependencies);\n\n      LOG.info(\"Updating @|bold {}|@\", relativeJvmDirectory);\n      PathUtils.syncRecursive(newJvmDirectory, jvmDirectory);\n      PathUtils.removeRecursive(newJvmDirectory);\n\n      LOG.info(\"Updating @|bold {}|@\", relativeWorkspaceFile);\n      Files.deleteIfExists(workspaceFile);\n      Files.move(newWorkspaceFile, workspaceFile);\n\n      LOG.info(\"Pinning maven dependencies...\");\n      if (0\n          != new ProcessBuilder(\"bazel\", \"run\", \"@unpinned_maven//:pin\")\n              .directory(options.workspaceDirectory().toFile())\n              .inheritIO()\n              .start()\n              .waitFor()) {\n        LOG.error(\"Failed to pin maven dependencies (see console output for more info)\");\n        System.exit(1);\n      }\n\n      LOG.info(\"Running bazel sync...\");\n      Files.write(options.resolvedFile(), \"resolved = []\\n\".getBytes(UTF_8));\n      if (0\n          != new ProcessBuilder(\n                  \"bazel\",\n                  \"sync\",\n                  \"--experimental_repository_resolved_file=\" + options.resolvedFile())\n              .directory(options.workspaceDirectory().toFile())\n              .inheritIO()\n              .start()\n              .waitFor()) {\n        LOG.error(\"Failed to run bazel sync (see console output for more info)\");\n        System.exit(1);\n      }\n\n      LOG.info(\"Updating @|bold {}|@\", relativeRepositoryFile);\n      Files.deleteIfExists(repositoryFile);\n      Files.move(newRepositoryFile, repositoryFile);\n\n      LOG.info(\"Updating @|bold {}|@\", relativeLockFile);\n      Files.write(options.lockFile(), createLockContents(options).getBytes(UTF_8));\n\n      LOG.info(\"Done\");\n    }\n  }\n\n  private static String createLockContents(final Options options) throws IOException {\n    final StringWriter stringWriter = new StringWriter();\n    try (final Stream<Path> jvmFiles = Files.walk(options.jvmDirectory());\n        final PrintWriter out = new PrintWriter(stringWriter)) {\n      out.println(\"version\\t1\");\n      Stream.concat(\n              Stream.of(\n                  options.inputFile(),\n                  options.workspaceFile(),\n                  options.repositoryFile(),\n                  options.resolvedFile(),\n                  options.mavenInstallFile()),\n              jvmFiles)\n          .sorted()\n          .forEachOrdered(file -> describeFile(options.workspaceDirectory(), file, out));\n    }\n    return stringWriter.toString();\n  }\n\n  private static void describeFile(\n      final Path workspaceDirectory, final Path path, final PrintWriter out) {\n    final Path relativeFileName = workspaceDirectory.relativize(path);\n    if (Files.isDirectory(path)) {\n      // Do nothing\n    } else if (Files.isSymbolicLink(path)) {\n      out.printf(\"link\\t%s\\t%s\\t%s\\n\", Strings.repeat(\"-\", 32), relativeFileName, readLink(path));\n    } else if (Files.isRegularFile(path)) {\n      final HashCode sha256;\n\n      try {\n        sha256 = PathUtils.sha256(path);\n      } catch (IOException e) {\n        throw new UncheckedIOException(\"Could not compute sha256 of \" + path, e);\n      }\n\n      out.printf(\"file\\t%s\\t%s\\n\", sha256, relativeFileName);\n    } else {\n      throw new IllegalStateException(\"Path \" + path + \" is an unsupported type\");\n    }\n  }\n\n  private static Path writeNewWorkspaceFile(\n      final Options options,\n      final Dependencies.Options dependencyOptions,\n      final ImmutableSet<MavenDependency> mavenDependencies,\n      final ImmutableSet<MavenCoords> mavenExcludedDependencies)\n      throws IOException {\n    final Path newOutputFile =\n        Files.createTempFile(\n            options.workspaceFile().getParent(), \"workspace-\", \".bzl\", FILE_PERMISSIONS);\n\n    try (BufferedWriter writer = Files.newBufferedWriter(newOutputFile, UTF_8);\n        final PrintWriter out = new PrintWriter(writer)) {\n      final String header =\n          Resources.toString(Resources.getResource(Main.class, \"workspace-header.bzl\"), UTF_8);\n\n      final String mavenResolversList =\n          dependencyOptions\n              .mavenResolvers()\n              .stream()\n              .map(Dependencies.MavenResolver::url)\n              .map(url -> \"\\\"\" + url + \"\\\",\")\n              .collect(joining(\"\\n            \", \"[\\n            \", \"\\n        ]\"));\n\n      final String artifactsList =\n          mavenDependencies\n              .stream()\n              .map(\n                  d ->\n                      String.format(\n                          \"maven.artifact(group = \\\"%s\\\", artifact = \\\"%s\\\", version = \\\"%s\\\", neverlink = %s),\",\n                          d.coords().groupId(),\n                          d.coords().artifactId(),\n                          d.version(),\n                          d.neverLink() ? \"True\" : \"False\"))\n              .collect(joining(\"\\n            \", \"[\\n            \", \"\\n        ]\"));\n\n      final String excludedArtifactsList =\n          mavenExcludedDependencies\n              .stream()\n              .map(\n                  coords ->\n                      String.format(\n                          \"maven.exclusion(group = \\\"%s\\\", artifact = \\\"%s\\\"),\",\n                          coords.groupId(), coords.artifactId()))\n              .collect(joining(\"\\n            \", \"[\\n            \", \"\\n        ]\"));\n\n      out.write(header);\n      out.println();\n      out.println(\"def maven_dependencies(install = None):\");\n      out.println(\"    if install == None:\");\n      out.println(\"        install = default_install\");\n      out.printf(\n          \"    install(%n\"\n              + \"        artifacts = %s,%n\"\n              + \"        repositories = %s,%n\"\n              + \"        excluded_artifacts = %s,%n\",\n          artifactsList, mavenResolversList, excludedArtifactsList);\n\n      if (dependencyOptions.versionConflictPolicy().isPresent()) {\n        out.printf(\n            \"        version_conflict_policy = \\\"%s\\\",%n\",\n            dependencyOptions.versionConflictPolicy().get());\n      }\n      out.printf(\"    )%n\");\n    }\n\n    return newOutputFile;\n  }\n\n  private static Path writeNewRepositoryFile(\n      final Options options, final ImmutableSet<GitHubDependency> gitHubDependencies)\n      throws IOException {\n    final Path newOutputFile =\n        Files.createTempFile(\n            options.repositoryFile().getParent(), \"repository-\", \".bzl\", FILE_PERMISSIONS);\n\n    try (BufferedWriter writer = Files.newBufferedWriter(newOutputFile, UTF_8);\n        final PrintWriter out = new PrintWriter(writer)) {\n      final String header =\n          Resources.toString(Resources.getResource(Main.class, \"repository-header.bzl\"), UTF_8);\n\n      out.write(header);\n\n      out.println();\n      out.println(\"def repositories(github_callback = None):\");\n      out.println(\"    _frozen_repos()\");\n      out.println(\"    if github_callback == None:\");\n      out.println(\"        github_callback = default_github_callback\");\n\n      for (final GitHubDependency dependency : gitHubDependencies) {\n        final String name = dependency.name();\n        final String repository = dependency.repository();\n        if (dependency.commit().isPresent()) {\n          out.printf(\n              \"    github_callback(name = \\\"%1$s\\\", repository = \\\"%2$s\\\", commit = \\\"%3$s\\\")\\n\",\n              name, repository, dependency.commit().get());\n        } else if (dependency.branch().isPresent()) {\n          out.printf(\n              \"    github_callback(name = \\\"%1$s\\\", repository = \\\"%2$s\\\", branch = \\\"%3$s\\\")\\n\",\n              name, repository, dependency.branch().get());\n        } else if (dependency.tag().isPresent() && dependency.release().isPresent()) {\n          out.printf(\n              \"    github_callback(name = \\\"%1$s\\\", repository = \\\"%2$s\\\", tag = \\\"%3$s\\\", release = \\\"%4$s\\\", strip_prefix = %5$s)\\n\",\n              name,\n              repository,\n              dependency.tag().get(),\n              dependency.release().get(),\n              dependency.stripPrefix().map(sp -> \"\\\"\" + sp + \"\\\"\").orElse(\"None\"));\n        } else if (dependency.tag().isPresent()) {\n          out.printf(\n              \"    github_callback(name = \\\"%1$s\\\", repository = \\\"%2$s\\\", tag = \\\"%3$s\\\")\\n\",\n              name, repository, dependency.tag().get());\n        } else {\n          out.printf(\n              \"    github_callback(name = \\\"%1$s\\\", repository = \\\"%2$s\\\", branch = \\\"master\\\")\\n\",\n              name, repository);\n        }\n      }\n    }\n\n    return newOutputFile;\n  }\n\n  private static Path writeNewJvmDirectory(\n      final Options options, final ImmutableSet<MavenDependency> mavenDependencies)\n      throws IOException {\n    final Path buildifier = options.buildifier();\n    final Path newJvmDirectory =\n        Files.createTempDirectory(options.thirdPartyDirectory(), \"jvm-\", DIR_PERMISSIONS);\n\n    mavenDependencies\n        .stream()\n        .collect(Collectors.groupingBy(d -> d.coords().groupId()))\n        .forEach(\n            (groupId, groupDependencies) ->\n                writeJvmGroup(newJvmDirectory, buildifier, groupId, groupDependencies));\n    return newJvmDirectory;\n  }\n\n  private static void writeJvmGroup(\n      final Path newJvmDirectory,\n      final Path buildifier,\n      final String groupId,\n      final List<MavenDependency> groupDependencies) {\n    final Path groupIdDir = newJvmDirectory.resolve(MavenCoords.groupRelativePackageName(groupId));\n\n    if (!Files.exists(groupIdDir)) {\n      try {\n        Files.createDirectories(groupIdDir);\n      } catch (final IOException e) {\n        throw new UncheckedIOException(\"Could not create dir \" + groupIdDir, e);\n      }\n    }\n\n    final Path buildFile = groupIdDir.resolve(\"BUILD\");\n    try (final Writer writer = Files.newBufferedWriter(buildFile, UTF_8);\n        final PrintWriter out = new PrintWriter(writer)) {\n      out.println(\"load(\\\"@rules_jvm_external//:defs.bzl\\\", \\\"artifact\\\")\");\n\n      for (final MavenDependency dependency : groupDependencies) {\n        out.print('\\n');\n        out.printf(\"alias(\\n\");\n        out.printf(\n            \"    name = \\\"%s\\\",\\n\", dependency.coords().artifactLabel(dependency.kind().isScala()));\n        out.printf(\"    actual = artifact(\\\"%s\\\"),\\n\", dependency);\n        out.printf(\"    visibility = [\\\"//visibility:public\\\"],\\n\");\n        out.printf(\")\\n\");\n      }\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Could not write file \" + buildFile, e);\n    }\n\n    final Process process;\n    try {\n      process =\n          new ProcessBuilder()\n              .command(buildifier.toString(), buildFile.toString())\n              .inheritIO()\n              .start();\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Could not run buildifier on \" + buildFile, e);\n    }\n\n    final int exitCode;\n    try {\n      exitCode = process.waitFor();\n    } catch (InterruptedException e) {\n      throw new IllegalStateException(\"Interrupted while running buildifier on \" + buildFile, e);\n    }\n\n    if (exitCode != 0) {\n      throw new IllegalStateException(\"Could not run buildifier on \" + buildFile);\n    }\n  }\n\n  private static Path readLink(final Path path) {\n    try {\n      return Files.readSymbolicLink(path);\n    } catch (IOException e) {\n      throw new UncheckedIOException(\"Could not read link \" + path, e);\n    }\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/cli/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"cli\",\n    srcs = [\"Options.java\"],\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-deps:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/net/sf/jopt-simple\",\n        \"//3rdparty/tools:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/cli/Options.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.cli;\n\nimport com.google.auto.value.AutoValue;\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.util.Arrays;\nimport joptsimple.OptionParser;\nimport joptsimple.OptionSet;\nimport joptsimple.OptionSpec;\n\n@AutoValue\npublic abstract class Options {\n\n  Options() {}\n\n  public abstract Path workspaceDirectory();\n\n  public abstract Path buildifier();\n\n  public abstract boolean verify();\n\n  public abstract boolean verbose();\n\n  public Path inputFile() {\n    return thirdPartyDirectory().resolve(\"dependencies.yaml\");\n  }\n\n  public Path lockFile() {\n    return thirdPartyDirectory().resolve(\"dependencies.lock\");\n  }\n\n  public Path workspaceFile() {\n    return thirdPartyDirectory().resolve(\"workspace.bzl\");\n  }\n\n  public Path repositoryFile() {\n    return thirdPartyDirectory().resolve(\"repositories.bzl\");\n  }\n\n  public Path resolvedFile() {\n    return thirdPartyDirectory().resolve(\"resolved.bzl\");\n  }\n\n  public Path mavenInstallFile() {\n    return thirdPartyDirectory().resolve(\"maven-install.json\");\n  }\n\n  public Path thirdPartyDirectory() {\n    return workspaceDirectory().resolve(\"3rdparty\");\n  }\n\n  public Path jvmDirectory() {\n    return thirdPartyDirectory().resolve(\"jvm\");\n  }\n\n  public static Options parse(final String... args) throws IOException {\n    final OptionParser parser = new OptionParser();\n\n    final OptionSpec<Void> helpFlag = parser.accepts(\"help\").forHelp();\n    final OptionSpec<Void> verboseFlag = parser.acceptsAll(Arrays.asList(\"verbose\", \"v\"));\n    final OptionSpec<File> workspaceDirectoryArgument =\n        parser\n            .acceptsAll(Arrays.asList(\"workspace-directory\", \"w\"))\n            .withRequiredArg()\n            .ofType(File.class);\n    final OptionSpec<File> buildifierArgument =\n        parser.accepts(\"buildifier\").withRequiredArg().ofType(File.class);\n    final OptionSpec<Void> verifyFlag = parser.accepts(\"verify\");\n\n    final OptionSet optionSet = parser.parse(args);\n\n    if (optionSet.has(helpFlag)) {\n      parser.printHelpOn(System.err);\n      throw new IllegalStateException(\"Help requested\"); // TODO(dflemstr): hack\n    }\n\n    final Path workspaceDirectory;\n    final Path buildifier;\n\n    if (optionSet.has(workspaceDirectoryArgument)) {\n      workspaceDirectory = optionSet.valueOf(workspaceDirectoryArgument).toPath().normalize();\n    } else {\n      workspaceDirectory = Paths.get(\".\");\n    }\n\n    if (optionSet.has(buildifierArgument)) {\n      buildifier = optionSet.valueOf(buildifierArgument).toPath();\n    } else {\n      throw new IllegalStateException(\"Missing mandatory flag --buildifier\");\n    }\n\n    final boolean verify = optionSet.has(verifyFlag);\n    final boolean verbose = optionSet.has(verboseFlag);\n\n    return create(workspaceDirectory, buildifier, verify, verbose);\n  }\n\n  public static Options create(\n      final Path workspaceDirectory,\n      final Path buildifier,\n      final boolean verify,\n      final boolean verbose) {\n    return builder()\n        .workspaceDirectory(workspaceDirectory)\n        .buildifier(buildifier)\n        .verify(verify)\n        .verbose(verbose)\n        .build();\n  }\n\n  public static Builder builder() {\n    return new AutoValue_Options.Builder();\n  }\n\n  @AutoValue.Builder\n  public abstract static class Builder {\n\n    Builder() {}\n\n    public abstract Builder workspaceDirectory(final Path workspaceDirectory);\n\n    public abstract Builder buildifier(final Path buildifier);\n\n    public abstract Builder verify(final boolean verify);\n\n    public abstract Builder verbose(final boolean verbose);\n\n    public abstract Options build();\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/config/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"config\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-deps:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-annotations\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-core\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-databind\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/dataformat:jackson-dataformat-yaml\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/datatype:jackson-datatype-guava\",\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/code/findbugs:annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/tools:auto-value\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/model\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/config/Dependencies.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.config;\n\nimport com.fasterxml.jackson.annotation.JsonCreator;\nimport com.fasterxml.jackson.annotation.JsonIgnoreProperties;\nimport com.fasterxml.jackson.annotation.JsonProperty;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.fasterxml.jackson.databind.annotation.JsonDeserialize;\nimport com.fasterxml.jackson.dataformat.yaml.YAMLFactory;\nimport com.fasterxml.jackson.datatype.guava.GuavaModule;\nimport com.google.auto.value.AutoValue;\nimport com.google.common.base.Splitter;\nimport com.google.common.collect.ImmutableMap;\nimport com.google.common.collect.ImmutableSet;\nimport com.google.common.collect.ImmutableTable;\nimport com.google.common.collect.Table;\nimport com.spotify.syncdeps.model.MavenCoords;\nimport com.spotify.syncdeps.model.MavenDependency;\nimport com.spotify.syncdeps.model.MavenDependencyKind;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.util.List;\nimport java.util.Locale;\nimport java.util.Map;\nimport java.util.Optional;\nimport java.util.stream.Stream;\n\n@AutoValue\n@JsonIgnoreProperties(ignoreUnknown = true)\npublic abstract class Dependencies {\n\n  Dependencies() {}\n\n  @JsonProperty(\"options\")\n  public abstract Options options();\n\n  @JsonProperty(\"maven\")\n  public abstract ImmutableTable<String, String, Maven> maven();\n\n  @JsonProperty(\"github\")\n  public abstract ImmutableMap<String, GitHub> github();\n\n  public static Dependencies parseYaml(final Path path) throws IOException {\n    final ObjectMapper mapper =\n        new ObjectMapper(new YAMLFactory()).registerModule(new GuavaModule());\n    return mapper.readValue(path.toFile(), Dependencies.class);\n  }\n\n  @JsonCreator\n  public static Dependencies create(\n      @JsonProperty(\"options\") final Options options,\n      @JsonDeserialize(using = TableDeserializer.class) @JsonProperty(\"maven\")\n          final ImmutableTable<String, String, Maven> maven,\n      @JsonProperty(\"github\") final ImmutableMap<String, GitHub> github) {\n    return builder()\n        .options(options)\n        .maven(maven == null ? ImmutableTable.of() : maven)\n        .github(github == null ? ImmutableMap.of() : github)\n        .build();\n  }\n\n  public static Builder builder() {\n    return new AutoValue_Dependencies.Builder();\n  }\n\n  @AutoValue.Builder\n  public abstract static class Builder {\n\n    Builder() {}\n\n    public abstract Builder options(final Options options);\n\n    public abstract ImmutableTable.Builder<String, String, Maven> mavenBuilder();\n\n    public Builder maven(final Table<String, String, Maven> maven) {\n      mavenBuilder().putAll(maven);\n      return this;\n    }\n\n    public abstract ImmutableMap.Builder<String, GitHub> githubBuilder();\n\n    public Builder github(final Map<String, GitHub> github) {\n      githubBuilder().putAll(github);\n      return this;\n    }\n\n    public abstract Dependencies build();\n  }\n\n  @AutoValue\n  @JsonIgnoreProperties(ignoreUnknown = true)\n  public abstract static class Options {\n\n    Options() {}\n\n    @JsonProperty(\"mavenResolvers\")\n    public abstract ImmutableSet<MavenResolver> mavenResolvers();\n\n    @JsonProperty(\"excludedDependencies\")\n    public abstract ImmutableSet<MavenCoords> excludedDependencies();\n\n    @JsonProperty(\"scalaAbi\")\n    public abstract String scalaAbi();\n\n    @JsonProperty(\"versionConflictPolicy\")\n    public abstract Optional<String> versionConflictPolicy();\n\n    @JsonCreator\n    public static Options create(\n        @JsonProperty(\"mavenResolvers\") final ImmutableSet<MavenResolver> mavenResolvers,\n        @JsonProperty(\"excludedDependencies\") final ImmutableSet<MavenCoords> excludedDependencies,\n        @JsonProperty(\"scalaAbi\") final String scalaAbi,\n        @JsonProperty(\"versionConflictPolicy\") final String versionConflictPolicy) {\n      return builder()\n          .mavenResolvers(mavenResolvers == null ? ImmutableSet.of() : mavenResolvers)\n          .excludedDependencies(\n              excludedDependencies == null ? ImmutableSet.of() : excludedDependencies)\n          .scalaAbi(scalaAbi == null ? \"2.11\" : scalaAbi)\n          .versionConflictPolicy(Optional.ofNullable(versionConflictPolicy))\n          .build();\n    }\n\n    public static Builder builder() {\n      return new AutoValue_Dependencies_Options.Builder();\n    }\n\n    @AutoValue.Builder\n    public abstract static class Builder {\n\n      public abstract ImmutableSet.Builder<MavenResolver> mavenResolversBuilder();\n\n      public abstract ImmutableSet.Builder<MavenCoords> excludedDependenciesBuilder();\n\n      public Builder mavenResolver(final MavenResolver mavenResolver) {\n        mavenResolversBuilder().add(mavenResolver);\n        return this;\n      }\n\n      public Builder mavenResolvers(final Iterable<MavenResolver> mavenResolvers) {\n        mavenResolversBuilder().addAll(mavenResolvers);\n        return this;\n      }\n\n      public Builder excludedDependency(final MavenCoords excludedDependency) {\n        excludedDependenciesBuilder().add(excludedDependency);\n        return this;\n      }\n\n      public Builder excludedDependencies(final Iterable<MavenCoords> excludedDependencies) {\n        excludedDependenciesBuilder().addAll(excludedDependencies);\n        return this;\n      }\n\n      public abstract Builder scalaAbi(final String scalaAbi);\n\n      public abstract Builder versionConflictPolicy(final Optional<String> versionConflictPolicy);\n\n      public abstract Options build();\n    }\n  }\n\n  @AutoValue\n  @JsonIgnoreProperties(ignoreUnknown = true)\n  public abstract static class MavenResolver {\n\n    @JsonProperty(\"id\")\n    public abstract String id();\n\n    @JsonProperty(\"url\")\n    public abstract String url();\n\n    @JsonCreator\n    public static MavenResolver create(\n        @JsonProperty(\"id\") final String id, @JsonProperty(\"url\") final String url) {\n      return new AutoValue_Dependencies_MavenResolver(id, url);\n    }\n  }\n\n  @AutoValue\n  @JsonIgnoreProperties(ignoreUnknown = true)\n  public abstract static class Maven {\n\n    Maven() {}\n\n    @JsonProperty(\"version\")\n    public abstract String version();\n\n    @JsonProperty(\"modules\")\n    public abstract ImmutableSet<String> modules();\n\n    @JsonProperty(\"never-link\")\n    public abstract boolean neverLink();\n\n    @JsonProperty(\"kind\")\n    public abstract MavenDependencyKind kind();\n\n    @JsonCreator\n    public static Maven create(\n        @JsonProperty(\"version\") final String version,\n        @JsonProperty(\"modules\") final ImmutableSet<String> modules,\n        @JsonProperty(value = \"never-link\", defaultValue = \"false\") final boolean neverLink,\n        @JsonProperty(value = \"kind\") final MavenDependencyKind kind) {\n      final Builder builder = builder();\n\n      if (version != null) {\n        builder.version(version);\n      }\n\n      if (modules != null) {\n        builder.modules(modules);\n      }\n\n      builder.neverLink(neverLink);\n\n      if (kind != null) {\n        builder.kind(kind);\n      }\n\n      return builder.build();\n    }\n\n    public static Builder builder() {\n      return new AutoValue_Dependencies_Maven.Builder().kind(MavenDependencyKind.defaultValue());\n    }\n\n    @AutoValue.Builder\n    public abstract static class Builder {\n\n      Builder() {}\n\n      public abstract Builder version(final String version);\n\n      public abstract ImmutableSet.Builder<String> modulesBuilder();\n\n      public Builder module(final String module) {\n        modulesBuilder().add(module);\n        return this;\n      }\n\n      public Builder modules(final Iterable<String> modules) {\n        modulesBuilder().addAll(modules);\n        return this;\n      }\n\n      public abstract Builder neverLink(final boolean neverLink);\n\n      public abstract Builder kind(final MavenDependencyKind kind);\n\n      public abstract Maven build();\n    }\n  }\n\n  @AutoValue\n  @JsonIgnoreProperties(ignoreUnknown = true)\n  public abstract static class GitHub {\n\n    GitHub() {}\n\n    @JsonProperty(\"repo\")\n    public abstract String repo();\n\n    @JsonProperty(\"commit\")\n    public abstract Optional<String> commit();\n\n    @JsonProperty(\"branch\")\n    public abstract Optional<String> branch();\n\n    @JsonProperty(\"tag\")\n    public abstract Optional<String> tag();\n\n    @JsonProperty(\"release\")\n    public abstract Optional<String> release();\n\n    @JsonProperty(\"stripPrefix\")\n    public abstract Optional<String> stripPrefix();\n\n    @SuppressWarnings(\"OptionalUsedAsFieldOrParameterType\")\n    @JsonCreator\n    public static GitHub create(\n        @JsonProperty(\"repo\") final String repo,\n        @JsonProperty(\"commit\") final String commit,\n        @JsonProperty(\"branch\") final String branch,\n        @JsonProperty(\"tag\") final String tag,\n        @JsonProperty(\"release\") final String release,\n        @JsonProperty(\"stripPrefix\") final String stripPrefix) {\n      return new AutoValue_Dependencies_GitHub(\n          repo,\n          Optional.ofNullable(commit),\n          Optional.ofNullable(branch),\n          Optional.ofNullable(tag),\n          Optional.ofNullable(release),\n          Optional.ofNullable(stripPrefix));\n    }\n  }\n\n  public ImmutableSet<MavenDependency> toMavenLeafDependencies() {\n    return this.maven()\n        .cellSet()\n        .stream()\n        .flatMap(c -> createCellDependencies(this.options().scalaAbi(), c))\n        .collect(ImmutableSet.toImmutableSet());\n  }\n\n  static Stream<MavenDependency> createCellDependencies(\n      final String scalaAbi, final Table.Cell<String, String, Dependencies.Maven> cell) {\n    final String groupIdBase = cell.getRowKey();\n    final String artifactIdBase = cell.getColumnKey();\n    final Dependencies.Maven dependencySpec = cell.getValue();\n    assert dependencySpec != null;\n\n    return buildCoords(groupIdBase, artifactIdBase, dependencySpec.modules())\n        .map(\n            coord ->\n                MavenDependency.create(\n                    dependencySpec.kind().isScala() ? coord.withScalaAbi(scalaAbi) : coord,\n                    dependencySpec.version(),\n                    dependencySpec.neverLink(),\n                    dependencySpec.kind()));\n  }\n\n  private static Stream<MavenCoords> buildCoords(\n      final String groupIdBase, final String artifactIdBase, final ImmutableSet<String> modules) {\n    if (modules.isEmpty()) {\n      return Stream.of(MavenCoords.create(groupIdBase, artifactIdBase));\n    } else {\n      return modules.stream().map(spec -> formatSpec(groupIdBase, artifactIdBase, spec));\n    }\n  }\n\n  private static MavenCoords formatSpec(\n      final String groupIdBase, final String artifactIdBase, final String spec) {\n    if (spec.contains(\":\")) {\n      final List<String> parts = Splitter.on(':').limit(2).splitToList(spec);\n      final String groupIdFragment = parts.get(0);\n      final String artifactIdFragment = parts.get(1);\n\n      final String groupId;\n      if (groupIdFragment.isEmpty()) {\n        groupId = groupIdBase;\n      } else {\n        groupId = String.format(Locale.ROOT, \"%s.%s\", groupIdBase, groupIdFragment);\n      }\n\n      final String artifactId;\n      if (artifactIdFragment.isEmpty()) {\n        artifactId = artifactIdBase;\n      } else {\n        artifactId = String.format(Locale.ROOT, \"%s-%s\", artifactIdBase, artifactIdFragment);\n      }\n\n      return MavenCoords.create(groupId, artifactId);\n    } else {\n      final String artifactId;\n      if (spec.isEmpty()) {\n        artifactId = artifactIdBase;\n      } else {\n        artifactId = String.format(Locale.ROOT, \"%s-%s\", artifactIdBase, spec);\n      }\n\n      return MavenCoords.create(groupIdBase, artifactId);\n    }\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/config/TableDeserializer.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.config;\n\nimport com.google.common.collect.ImmutableTable;\n\nimport com.fasterxml.jackson.core.JsonParser;\nimport com.fasterxml.jackson.databind.BeanProperty;\nimport com.fasterxml.jackson.databind.DeserializationContext;\nimport com.fasterxml.jackson.databind.JavaType;\nimport com.fasterxml.jackson.databind.JsonDeserializer;\nimport com.fasterxml.jackson.databind.JsonMappingException;\nimport com.fasterxml.jackson.databind.deser.ContextualDeserializer;\n\nimport java.io.IOException;\nimport java.util.Map;\nimport java.util.Objects;\n\nimport javax.annotation.Nullable;\n\nfinal class TableDeserializer extends JsonDeserializer<ImmutableTable<?, ?, ?>>\n    implements ContextualDeserializer {\n\n  private final @Nullable JavaType javaType;\n\n  TableDeserializer() {\n    this.javaType = null;\n  }\n\n  TableDeserializer(final JavaType javaType) {\n    this.javaType = javaType;\n  }\n\n  @Override\n  public ImmutableTable<?, ?, ?> deserialize(final JsonParser jp, final DeserializationContext ctxt)\n      throws IOException {\n    final ImmutableTable.Builder<Object, Object, Object> tableBuilder = ImmutableTable.builder();\n\n    final JavaType javaType = Objects.requireNonNull(this.javaType);\n\n    final JavaType rowKeyType = javaType.containedTypeOrUnknown(0);\n    final JavaType columnKeyType = javaType.containedTypeOrUnknown(1);\n    final JavaType valueType = javaType.containedTypeOrUnknown(2);\n    final JavaType mapifiedType =\n        ctxt.getTypeFactory()\n            .constructMapType(\n                Map.class,\n                rowKeyType,\n                ctxt.getTypeFactory().constructMapType(Map.class, columnKeyType, valueType));\n\n    final Map<Object, Map<Object, Object>> rowMap = ctxt.readValue(jp, mapifiedType);\n\n    for (final Map.Entry<Object, Map<Object, Object>> rowEntry : rowMap.entrySet()) {\n      final Object rowKey = rowEntry.getKey();\n      for (final Map.Entry<Object, Object> cellEntry : rowEntry.getValue().entrySet()) {\n        final Object colKey = cellEntry.getKey();\n        final Object val = cellEntry.getValue();\n        tableBuilder.put(rowKey, colKey, val);\n      }\n    }\n    return tableBuilder.build();\n  }\n\n  @Override\n  public JsonDeserializer<?> createContextual(\n      final DeserializationContext deserializationContext, final BeanProperty beanProperty)\n      throws JsonMappingException {\n    return new TableDeserializer(deserializationContext.getContextualType());\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/model/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"model\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-deps:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-annotations\",\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/code/findbugs:annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/tools:auto-value\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/util\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/model/GitHubDependency.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.model;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.collect.ComparisonChain;\nimport java.util.Optional;\n\n@AutoValue\npublic abstract class GitHubDependency implements Comparable<GitHubDependency> {\n  GitHubDependency() {}\n\n  public abstract String name();\n\n  public abstract String repository();\n\n  public abstract Optional<String> commit();\n\n  public abstract Optional<String> branch();\n\n  public abstract Optional<String> tag();\n\n  public abstract Optional<String> release();\n\n  public abstract Optional<String> stripPrefix();\n\n  @SuppressWarnings(\"OptionalUsedAsFieldOrParameterType\")\n  public static GitHubDependency create(\n      final String name,\n      final String repository,\n      final Optional<String> commit,\n      final Optional<String> branch,\n      final Optional<String> tag,\n      final Optional<String> release,\n      final Optional<String> stripPrefix) {\n    return new AutoValue_GitHubDependency(\n        name, repository, commit, branch, tag, release, stripPrefix);\n  }\n\n  @Override\n  public int compareTo(final GitHubDependency that) {\n    return ComparisonChain.start().compare(this.name(), that.name()).result();\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/model/MavenCoords.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.model;\n\nimport static java.util.stream.Collectors.joining;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.base.Splitter;\nimport com.google.common.collect.ComparisonChain;\nimport com.spotify.syncdeps.util.BazelUtils;\nimport java.util.Iterator;\n\n@AutoValue\npublic abstract class MavenCoords implements Comparable<MavenCoords> {\n\n  private static final Splitter DOT_SPLITTER = Splitter.on('.');\n\n  MavenCoords() {}\n\n  public abstract String groupId();\n\n  public abstract String artifactId();\n\n  public String artifactLabel(final boolean stripScalaAbi) {\n    final String artifactId = artifactId();\n    if (stripScalaAbi) {\n      return BazelUtils.label(artifactId.substring(0, artifactId.lastIndexOf('_')));\n    } else {\n      return BazelUtils.label(artifactId);\n    }\n  }\n\n  public String artifactPackagePathSegment() {\n    return BazelUtils.packagePathSegment(artifactId());\n  }\n\n  public String workspaceName() {\n    return BazelUtils.workspaceName(groupId() + \"_\" + artifactId());\n  }\n\n  public String groupRelativePackageName() {\n    return groupRelativePackageName(groupId());\n  }\n\n  public static String groupRelativePackageName(final String groupId) {\n    return DOT_SPLITTER\n        .splitToList(groupId)\n        .stream()\n        .map(BazelUtils::packagePathSegment)\n        .collect(joining(\"/\"));\n  }\n\n  public MavenCoords withScalaAbi(final String scalaAbi) {\n    return create(groupId(), artifactId() + \"_\" + scalaAbi);\n  }\n\n  public static MavenCoords create(final String groupId, final String artifactId) {\n    return new AutoValue_MavenCoords(groupId, artifactId);\n  }\n\n  public static MavenCoords valueOf(final String string) {\n    final Iterator<String> parts = Splitter.on(':').limit(2).split(string).iterator();\n    return create(parts.next(), parts.next());\n  }\n\n  @Override\n  public final String toString() {\n    return groupId() + \":\" + artifactId();\n  }\n\n  @Override\n  public int compareTo(final MavenCoords that) {\n    return ComparisonChain.start()\n        .compare(this.groupId(), that.groupId())\n        .compare(this.artifactId(), that.artifactId())\n        .result();\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/model/MavenDependency.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.model;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.collect.ComparisonChain;\n\n@AutoValue\npublic abstract class MavenDependency implements Comparable<MavenDependency> {\n  MavenDependency() {}\n\n  public abstract MavenCoords coords();\n\n  public abstract String version();\n\n  public abstract boolean neverLink();\n\n  public abstract MavenDependencyKind kind();\n\n  public static MavenDependency create(\n      final MavenCoords coords,\n      final String version,\n      final boolean neverLink,\n      final MavenDependencyKind kind) {\n    return new AutoValue_MavenDependency(coords, version, neverLink, kind);\n  }\n\n  @Override\n  public int compareTo(final MavenDependency that) {\n    return ComparisonChain.start()\n        .compare(this.coords(), that.coords())\n        .compare(this.version(), that.version())\n        .result();\n  }\n\n  @Override\n  public final String toString() {\n    return this.coords() + \":\" + this.version();\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/model/MavenDependencyKind.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.model;\n\nimport com.fasterxml.jackson.annotation.JsonCreator;\nimport com.fasterxml.jackson.annotation.JsonValue;\n\npublic enum MavenDependencyKind {\n  JAVA(\"java\", true, false, false),\n  SCALA(\"scala\", false, true, false),\n  SCALA_MACRO(\"scala-macro\", false, true, false);\n\n  private final String id;\n  private final boolean isJava;\n  private final boolean isScala;\n  private final boolean isMacro;\n\n  MavenDependencyKind(\n      final String id, final boolean isJava, final boolean isScala, final boolean isMacro) {\n    this.id = id;\n    this.isJava = isJava;\n    this.isScala = isScala;\n    this.isMacro = isMacro;\n  }\n\n  public static MavenDependencyKind defaultValue() {\n    return JAVA;\n  }\n\n  // TODO(dflemstr): mixing concerns here with JSON annotations\n  @JsonCreator\n  public static MavenDependencyKind forId(final String id) {\n    for (final MavenDependencyKind value : values()) {\n      if (value.id.equals(id)) {\n        return value;\n      }\n    }\n    throw new IllegalArgumentException(\"No such dependency kind: \" + id);\n  }\n\n  // TODO(dflemstr): mixing concerns here with JSON annotations\n  @JsonValue\n  public String value() {\n    return id;\n  }\n\n  public boolean isJava() {\n    return isJava;\n  }\n\n  public boolean isScala() {\n    return isScala;\n  }\n\n  public boolean isMacro() {\n    return isMacro;\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/util/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"util\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-deps:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/util/BazelUtils.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.util;\n\nimport com.google.common.base.CharMatcher;\n\npublic final class BazelUtils {\n\n  private static final CharMatcher PUNCTUATION_REQUIRING_QUOTING = CharMatcher.anyOf(\"+,=~# ()$\");\n\n  private static final CharMatcher PUNCTUATION_NOT_REQUIRING_QUOTING = CharMatcher.anyOf(\"_@-\");\n\n  private static final CharMatcher ALPHANUMERIC =\n      CharMatcher.inRange('0', '9')\n          .or(CharMatcher.inRange('a', 'z'))\n          .or(CharMatcher.inRange('A', 'Z'));\n\n  private static final CharMatcher ALLOWED_CHARACTERS_IN_PACKAGE_NAME =\n      CharMatcher.inRange('0', '9')\n          .or(CharMatcher.inRange('a', 'z'))\n          .or(CharMatcher.inRange('A', 'Z'))\n          .or(CharMatcher.anyOf(\"/-._ $()\"))\n          .precomputed();\n\n  private static final CharMatcher NOT_ALLOWED_CHARACTERS_IN_PACKAGE_NAME =\n      ALLOWED_CHARACTERS_IN_PACKAGE_NAME.negate().precomputed();\n\n  private static final CharMatcher ALWAYS_ALLOWED_WORKSPACE_NAME_CHARACTERS =\n      ALPHANUMERIC.or(CharMatcher.is('_')).precomputed();\n\n  private static final CharMatcher NOT_ALWAYS_ALLOWED_WORKSPACE_NAME_CHARACTERS =\n      ALWAYS_ALLOWED_WORKSPACE_NAME_CHARACTERS.negate().precomputed();\n\n  private static final CharMatcher ALWAYS_ALLOWED_TARGET_CHARACTERS =\n      ALPHANUMERIC\n          .or(PUNCTUATION_REQUIRING_QUOTING)\n          .or(PUNCTUATION_NOT_REQUIRING_QUOTING)\n          .precomputed();\n\n  private static final CharMatcher NOT_ALWAYS_ALLOWED_TARGET_CHARACTERS =\n      ALWAYS_ALLOWED_TARGET_CHARACTERS.negate().precomputed();\n\n  private BazelUtils() {\n    throw new IllegalAccessError(\"This class must not be instantiated.\");\n  }\n\n  public static String packagePathSegment(final String string) {\n    return NOT_ALLOWED_CHARACTERS_IN_PACKAGE_NAME.replaceFrom(string, '_');\n  }\n\n  public static String label(final String string) {\n    return NOT_ALWAYS_ALLOWED_TARGET_CHARACTERS.replaceFrom(string, '_');\n  }\n\n  public static String workspaceName(final String string) {\n    return NOT_ALWAYS_ALLOWED_WORKSPACE_NAME_CHARACTERS.replaceFrom(string, '_');\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/java/com/spotify/syncdeps/util/PathUtils.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.util;\n\nimport com.google.common.collect.Sets;\nimport com.google.common.hash.HashCode;\nimport com.google.common.hash.Hashing;\nimport com.google.common.io.MoreFiles;\nimport java.io.IOException;\nimport java.nio.file.FileVisitResult;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.nio.file.SimpleFileVisitor;\nimport java.nio.file.StandardCopyOption;\nimport java.nio.file.attribute.BasicFileAttributes;\nimport java.util.Set;\nimport java.util.stream.Collectors;\nimport java.util.stream.Stream;\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\npublic final class PathUtils {\n  private static final Logger LOG = LoggerFactory.getLogger(PathUtils.class);\n\n  private PathUtils() {\n    throw new IllegalAccessError(\"This class must not be instantiated.\");\n  }\n\n  public static HashCode sha256(final Path file) throws IOException {\n    return MoreFiles.asByteSource(file).hash(Hashing.sha256());\n  }\n\n  public static void syncRecursive(final Path source, final Path target) throws IOException {\n    Files.walkFileTree(\n        source,\n        new SimpleFileVisitor<Path>() {\n          @Override\n          public FileVisitResult preVisitDirectory(\n              final Path sourceDir, final BasicFileAttributes attrs) throws IOException {\n            final Path targetDir = equivalentSubpath(source, target, sourceDir);\n\n            Files.createDirectories(targetDir);\n\n            return FileVisitResult.CONTINUE;\n          }\n\n          @Override\n          public FileVisitResult visitFile(final Path sourceFile, final BasicFileAttributes attrs)\n              throws IOException {\n            final Path targetFile = equivalentSubpath(source, target, sourceFile);\n\n            if (attrs.isSymbolicLink()) {\n              syncSymbolicLink(source, target, sourceFile, targetFile);\n            } else if (attrs.isRegularFile()) {\n              syncRegularFile(sourceFile, targetFile);\n            } else {\n              LOG.warn(\"Will not sync irregular file {}\", sourceFile);\n            }\n\n            return FileVisitResult.CONTINUE;\n          }\n\n          @Override\n          public FileVisitResult postVisitDirectory(final Path sourceDir, final IOException exc)\n              throws IOException {\n            final Path targetDir = equivalentSubpath(source, target, sourceDir);\n\n            final Set<Path> oldPaths =\n                Sets.difference(dirContents(targetDir), dirContents(sourceDir));\n\n            for (final Path path : oldPaths) {\n              removeRecursive(targetDir.resolve(path));\n            }\n\n            return FileVisitResult.CONTINUE;\n          }\n        });\n  }\n\n  private static void syncRegularFile(final Path sourceFile, final Path targetFile)\n      throws IOException {\n    if (Files.exists(targetFile)) {\n      final HashCode sourceHash = sha256(sourceFile);\n      final HashCode targetHash = sha256(targetFile);\n\n      if (sourceHash.equals(targetHash)) {\n        return;\n      }\n    }\n\n    Files.copy(sourceFile, targetFile, StandardCopyOption.REPLACE_EXISTING);\n  }\n\n  private static void syncSymbolicLink(\n      final Path source, final Path target, final Path sourceFile, final Path targetFile)\n      throws IOException {\n    final Path sourceLink = Files.readSymbolicLink(sourceFile);\n    final Path expectedTargetLink = equivalentSubpath(source, target, sourceLink);\n\n    if (Files.exists(targetFile)) {\n      final Path actualTargetLink = Files.readSymbolicLink(targetFile);\n\n      if (expectedTargetLink.toRealPath().equals(actualTargetLink.toRealPath())) {\n        return;\n      }\n    }\n\n    Files.deleteIfExists(targetFile);\n    Files.createSymbolicLink(targetFile, expectedTargetLink);\n  }\n\n  private static Set<Path> dirContents(final Path dir) throws IOException {\n    try (Stream<Path> path = Files.list(dir)) {\n      return path.map(Path::getFileName).collect(Collectors.toSet());\n    }\n  }\n\n  static Path equivalentSubpath(final Path a, final Path b, final Path path) {\n    return b.resolve(a.relativize(path));\n  }\n\n  public static void removeRecursive(final Path path) throws IOException {\n    Files.walkFileTree(\n        path,\n        new SimpleFileVisitor<Path>() {\n          @Override\n          public FileVisitResult visitFile(final Path file, final BasicFileAttributes attrs)\n              throws IOException {\n            Files.deleteIfExists(file);\n            return FileVisitResult.CONTINUE;\n          }\n\n          @Override\n          public FileVisitResult postVisitDirectory(final Path dir, final IOException exc)\n              throws IOException {\n            Files.deleteIfExists(dir);\n            return FileVisitResult.CONTINUE;\n          }\n        });\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/main/resources/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"resources\",\n    javacopts = JAVACOPTS,\n    resources = glob([\"**/*\"]),\n    visibility = [\"//sync-deps:__subpackages__\"],\n)\n"
  },
  {
    "path": "sync-deps/src/main/resources/com/spotify/syncdeps/repository-header.bzl",
    "content": "# This file is generated by sync-deps, do not edit!\nload(\"@bazel_tools//tools/build_defs/repo:git.bzl\", \"git_repository\")\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\", \"http_file\")\nload(\"//3rdparty:resolved.bzl\", \"resolved\")\n\ndef default_github_callback(name, repository, commit = None, branch = None, tag = None, release = None, strip_prefix = None, sha256 = None, **kwargs):\n    repo_name = repository.split(\"/\")[-1]\n\n    if tag != None and release != None:\n        _maybe(\n            http_archive,\n            name = name,\n            sha256 = sha256,\n            strip_prefix = strip_prefix,\n            url = \"https://github.com/%s/releases/download/%s/%s\" % (repository, tag, release),\n        )\n    else:\n        _maybe(\n            git_repository,\n            name = name,\n            commit = commit,\n            branch = branch,\n            tag = tag,\n            release = release,\n            remote = \"https://github.com/%s.git\" % repository,\n        )\n\ndef _maybe(repo_rule, **kwargs):\n    if kwargs[\"name\"] not in native.existing_rules():\n        repo_rule(**kwargs)\n\ndef _frozen_repos():\n    for entry in resolved:\n        for repo in entry.get(\"repositories\", []):\n            rule_class = repo.get(\"rule_class\")\n            if rule_class == \"@bazel_tools//tools/build_defs/repo:git.bzl%git_repository\":\n                _maybe(git_repository, **(repo[\"attributes\"]))\n            elif rule_class == \"@bazel_tools//tools/build_defs/repo:http.bzl%http_archive\":\n                _maybe(http_archive, **(repo[\"attributes\"]))\n            elif rule_class == \"@bazel_tools//tools/build_defs/repo:http.bzl%http_file\":\n                _maybe(http_file, **(repo[\"attributes\"]))\n"
  },
  {
    "path": "sync-deps/src/main/resources/com/spotify/syncdeps/workspace-header.bzl",
    "content": "# This file is generated by sync-deps, do not edit!\nload(\"@rules_jvm_external//:defs.bzl\", \"maven_install\")\nload(\"@rules_jvm_external//:specs.bzl\", \"maven\")\n\ndef default_install(artifacts, repositories, excluded_artifacts = [], version_conflict_policy = None, **kwargs):\n    maven_install(\n        artifacts = artifacts,\n        fetch_sources = True,\n        repositories = repositories,\n        excluded_artifacts = excluded_artifacts,\n        maven_install_json = \"//3rdparty:maven-install.json\",\n        version_conflict_policy = version_conflict_policy,\n    )\n"
  },
  {
    "path": "sync-deps/src/test/java/com/spotify/syncdeps/config/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_test\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\n\njava_test(\n    name = \"DependenciesTest\",\n    size = \"small\",\n    srcs = [\"DependenciesTest.java\"],\n    javacopts = JAVACOPTS,\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/com/google/jimfs\",\n        \"//3rdparty/jvm/com/squareup/okio\",\n        \"//3rdparty/jvm/org/hamcrest:java-hamcrest\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/config\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/model\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/test/java/com/spotify/syncdeps/config/DependenciesTest.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.config;\n\nimport static com.google.common.collect.ImmutableList.toImmutableList;\nimport static org.hamcrest.MatcherAssert.assertThat;\nimport static org.hamcrest.Matchers.is;\n\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.collect.ImmutableSet;\nimport com.google.common.collect.Table;\nimport com.spotify.syncdeps.model.MavenCoords;\nimport com.spotify.syncdeps.model.MavenDependency;\nimport com.spotify.syncdeps.model.MavenDependencyKind;\nimport java.util.stream.Stream;\nimport javax.annotation.Nullable;\nimport org.junit.Test;\n\npublic class DependenciesTest {\n  @Test\n  public void testCreateCellDependencies_simple() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\", ImmutableSet.of(), /* neverLink= */ false, MavenDependencyKind.JAVA)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a\", \"b\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA))));\n  }\n\n  @Test\n  public void testCreateCellDependencies_normalModule() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\",\n                    ImmutableSet.of(\"c\"),\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a\", \"b-c\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA))));\n  }\n\n  @Test\n  public void testCreateCellDependencies_groupModule() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\",\n                    ImmutableSet.of(\"c:d\"),\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a.c\", \"b-d\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA))));\n  }\n\n  @Test\n  public void testCreateCellDependencies_emptyModule() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\", ImmutableSet.of(\"\"), /* neverLink= */ false, MavenDependencyKind.JAVA)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a\", \"b\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.JAVA))));\n  }\n\n  @Test\n  public void testCreateCellDependencies_scala() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\",\n                    ImmutableSet.of(\"\"),\n                    /* neverLink= */ false,\n                    MavenDependencyKind.SCALA)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a\", \"b_2.11\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.SCALA))));\n  }\n\n  @Test\n  public void testCreateCellDependencies_scalaMacro() {\n    final Stream<MavenDependency> dependencies =\n        Dependencies.createCellDependencies(\n            \"2.11\",\n            SimpleCell.create(\n                \"a\",\n                \"b\",\n                Dependencies.Maven.create(\n                    \"1.0\",\n                    ImmutableSet.of(\"\"),\n                    /* neverLink= */ false,\n                    MavenDependencyKind.SCALA_MACRO)));\n\n    assertThat(\n        dependencies.collect(toImmutableList()),\n        is(\n            ImmutableList.of(\n                MavenDependency.create(\n                    MavenCoords.create(\"a\", \"b_2.11\"),\n                    \"1.0\",\n                    /* neverLink= */ false,\n                    MavenDependencyKind.SCALA_MACRO))));\n  }\n\n  static class SimpleCell<R, C, V> implements Table.Cell<R, C, V> {\n    private final R rowKey;\n    private final C columnKey;\n    private final V value;\n\n    private SimpleCell(final R rowKey, final C columnKey, final V value) {\n      this.rowKey = rowKey;\n      this.columnKey = columnKey;\n      this.value = value;\n    }\n\n    static <R, C, V> SimpleCell<R, C, V> create(final R rowKey, final C columnKey, final V value) {\n      return new SimpleCell<>(rowKey, columnKey, value);\n    }\n\n    @Nullable\n    @Override\n    public R getRowKey() {\n      return rowKey;\n    }\n\n    @Nullable\n    @Override\n    public C getColumnKey() {\n      return columnKey;\n    }\n\n    @Nullable\n    @Override\n    public V getValue() {\n      return value;\n    }\n  }\n}\n"
  },
  {
    "path": "sync-deps/src/test/java/com/spotify/syncdeps/util/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_test\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\n\njava_test(\n    name = \"PathUtilsTest\",\n    size = \"small\",\n    srcs = [\"PathUtilsTest.java\"],\n    javacopts = JAVACOPTS,\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/com/google/jimfs\",\n        \"//3rdparty/jvm/com/squareup/okio\",\n        \"//3rdparty/jvm/org/hamcrest:java-hamcrest\",\n        \"//sync-deps/src/main/java/com/spotify/syncdeps/util\",\n    ],\n)\n"
  },
  {
    "path": "sync-deps/src/test/java/com/spotify/syncdeps/util/PathUtilsTest.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncdeps.util;\n\nimport static org.hamcrest.MatcherAssert.assertThat;\nimport static org.hamcrest.Matchers.describedAs;\nimport static org.hamcrest.Matchers.is;\n\nimport com.google.common.hash.HashCode;\nimport com.google.common.jimfs.Configuration;\nimport com.google.common.jimfs.Jimfs;\nimport java.nio.file.FileSystem;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport okio.ByteString;\nimport org.junit.Test;\n\npublic class PathUtilsTest {\n  private final FileSystem fs = Jimfs.newFileSystem(Configuration.unix());\n\n  @Test\n  public void testSha256() throws Exception {\n    final Path file = fs.getPath(\"/\", \"file\");\n    Files.write(file, new byte[] {0x00, 0x01, 0x02});\n\n    final HashCode hashCode = PathUtils.sha256(file);\n    assertThat(\n        hashCode.toString(),\n        is(\"ae4b3280e56e2faf83f414a6e3dabe9d5fbe18976544c05fed121accb85b53fc\"));\n  }\n\n  @Test\n  public void testEquivalentSubpath() throws Exception {\n    final Path a = fs.getPath(\"/\", \"a\", \"b\");\n    final Path b = fs.getPath(\"/\", \"a\", \"d\");\n    final Path path = fs.getPath(\"/\", \"a\", \"b\", \"c\");\n\n    final Path expectedOutput = fs.getPath(\"/\", \"a\", \"d\", \"c\");\n    final Path actualOutput = PathUtils.equivalentSubpath(a, b, path);\n\n    assertThat(actualOutput, is(expectedOutput));\n  }\n\n  @Test\n  public void testRemoveRecursive() throws Exception {\n    final Path root = Files.createDirectory(fs.getPath(\"/\", \"root\"));\n    final Path unrelated = Files.write(root.resolve(\"unrelated\"), new byte[] {0x0f});\n\n    final Path dir = Files.createDirectory(root.resolve(\"dir\"));\n    Files.write(dir.resolve(\"a\"), new byte[] {0x00});\n    Files.write(dir.resolve(\"b\"), new byte[] {0x01});\n    Files.createSymbolicLink(dir.resolve(\"c\"), dir.resolve(\"b\"));\n    // The target of this link intentionally points to a file outside of our dir\n    Files.createSymbolicLink(dir.resolve(\"d\"), unrelated);\n    // Create a subdir\n    final Path subdir = Files.createDirectory(dir.resolve(\"subdir\"));\n    Files.write(subdir.resolve(\"e\"), new byte[] {0x00});\n    Files.write(subdir.resolve(\"f\"), new byte[] {0x01});\n\n    PathUtils.removeRecursive(dir);\n\n    assertThat(Files.notExists(dir), describedAs(\"directory was deleted\", is(true)));\n    assertThat(Files.exists(unrelated), describedAs(\"unrelated file was kept\", is(true)));\n  }\n\n  @Test\n  public void testSyncRecursive() throws Exception {\n    final Path root = Files.createDirectory(fs.getPath(\"/\", \"root\"));\n    final Path unrelated = Files.write(root.resolve(\"unrelated\"), new byte[] {0x0f});\n\n    final Path dir = Files.createDirectory(root.resolve(\"dir\"));\n    Files.write(dir.resolve(\"a\"), new byte[] {0x00});\n    Files.write(dir.resolve(\"b\"), new byte[] {0x01});\n    Files.createSymbolicLink(dir.resolve(\"c\"), dir.resolve(\"b\"));\n    // The target of this link intentionally points to a file outside of our dir\n    Files.createSymbolicLink(dir.resolve(\"d\"), unrelated);\n    // Create a subdir\n    final Path subdir = Files.createDirectory(dir.resolve(\"subdir\"));\n    Files.write(subdir.resolve(\"e\"), new byte[] {0x00});\n    Files.write(subdir.resolve(\"f\"), new byte[] {0x01});\n\n    final Path newdir = Files.createDirectory(root.resolve(\"newdir\"));\n    final Path targetFileA = newdir.resolve(\"a\");\n    final Path targetFileB = newdir.resolve(\"b\");\n    final Path targetFileC = newdir.resolve(\"c\");\n    final Path targetFileD = newdir.resolve(\"d\");\n    final Path targetFileX = newdir.resolve(\"x\");\n    final Path newsubdir = newdir.resolve(\"subdir\");\n    final Path targetFileE = newsubdir.resolve(\"e\");\n    final Path targetFileF = newsubdir.resolve(\"f\");\n    final Path newsubdirX = newdir.resolve(\"subdirX\");\n\n    // Different contents\n    Files.write(targetFileA, new byte[] {0x0f});\n    // Same contents\n    Files.write(targetFileB, new byte[] {0x01});\n    // Different link target\n    Files.createSymbolicLink(targetFileC, dir.resolve(\"a\"));\n    // Shouldn't exist\n    Files.write(targetFileX, new byte[] {0x01});\n    // Shouldn't exist\n    Files.createDirectory(newsubdirX);\n    Files.write(newsubdirX.resolve(\"foo\"), new byte[] {0x01});\n    Files.write(newsubdirX.resolve(\"bar\"), new byte[] {0x01});\n\n    PathUtils.syncRecursive(dir, newdir);\n\n    assertThat(ByteString.of(Files.readAllBytes(targetFileA)), is(ByteString.of((byte) 0x00)));\n    assertThat(ByteString.of(Files.readAllBytes(targetFileB)), is(ByteString.of((byte) 0x01)));\n    assertThat(Files.readSymbolicLink(targetFileC).toRealPath(), is(newdir.resolve(\"b\")));\n    assertThat(Files.readSymbolicLink(targetFileD).toRealPath(), is(unrelated));\n    assertThat(ByteString.of(Files.readAllBytes(targetFileE)), is(ByteString.of((byte) 0x00)));\n    assertThat(ByteString.of(Files.readAllBytes(targetFileF)), is(ByteString.of((byte) 0x01)));\n\n    assertThat(Files.notExists(targetFileX), is(true));\n    assertThat(Files.notExists(newsubdirX), is(true));\n  }\n}\n"
  },
  {
    "path": "sync-repos/BUILD",
    "content": "load(\"@rules_java//java:defs.bzl\", \"java_binary\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\n\njava_binary(\n    name = \"sync-repos\",\n    srcs = glob([\"src/main/java/**/*.java\"]),\n    javacopts = JAVACOPTS,\n    main_class = \"com.spotify.syncrepos.Main\",\n    runtime_deps = [\n        \"//3rdparty/jvm/ch/qos/logback:logback-classic\",\n        \"//sync-repos/src/main/java/com/spotify/syncrepos\",\n    ],\n)\n"
  },
  {
    "path": "sync-repos/README.md",
    "content": "# sync-repos\n\nA tool for synchronizing third-party repositories.  Synchronizes the `3rdparty/repositories.yaml`\nfile with this repository, merging Git histories.\n\nSome useful commands:\n\n  - Add a repository in `3rdparty/repositories.yaml`, make a commit (ensure your checkout is now\n    clean), then run:\n\n        sync-repos/run\n\n    This will pull new changes from all third-party repositories and merge their history into this\n    repository.\n"
  },
  {
    "path": "sync-repos/run",
    "content": "#!/bin/sh -eu\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//sync-repos\nexec \"$script\" -w \"$PWD\" \"$@\"\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"syncrepos\",\n    srcs = glob([\"*.java\"]),\n    data = [\n        \"//3rdparty:dependencies.yaml\",\n    ],\n    javacopts = JAVACOPTS,\n    visibility = [\"//visibility:public\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/jvm/org/slf4j:slf4j-api\",\n        \"//cli-utils\",\n        \"//sync-repos/src/main/java/com/spotify/syncrepos/cli\",\n        \"//sync-repos/src/main/java/com/spotify/syncrepos/config\",\n    ],\n)\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/Main.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncrepos;\n\nimport com.google.common.base.Joiner;\n\nimport com.spotify.bazeltools.cliutils.Cli;\nimport com.spotify.syncrepos.cli.Options;\nimport com.spotify.syncrepos.config.Repositories;\n\nimport org.slf4j.Logger;\nimport org.slf4j.LoggerFactory;\n\nimport java.io.IOException;\nimport java.nio.file.Files;\nimport java.nio.file.Path;\nimport java.util.Map;\n\npublic final class Main {\n\n  private Main() {}\n\n  private static final Logger LOG = LoggerFactory.getLogger(Main.class);\n\n  public static void main(String[] args) throws IOException {\n    final Options options = Options.parse(args);\n\n    Cli.configureLogging(\"sync-repos\", options.verbose());\n\n    try {\n      run(options);\n    } catch (final Exception e) {\n      LOG.error(\"A fatal error occurred\", e);\n      System.exit(1);\n    }\n  }\n\n  private static void run(final Options options) throws IOException, InterruptedException {\n    final Repositories repositories = Repositories.parseYaml(options.inputFile());\n    final Path workspace = options.workspaceDirectory();\n\n    for (Map.Entry<String, Repositories.Git> gitEntry : repositories.git().entrySet()) {\n      final Path relativeDirectory = workspace.getFileSystem().getPath(gitEntry.getKey());\n      final Path directory = workspace.resolve(relativeDirectory);\n      final Repositories.Git git = gitEntry.getValue();\n\n      if (Files.exists(directory)) {\n        LOG.info(\"Pulling changes into @|bold {}|@...\", relativeDirectory);\n        exec(\n            workspace,\n            \"git\",\n            \"subtree\",\n            \"pull\",\n            \"--prefix=\" + relativeDirectory,\n            git.remote(),\n            git.branch());\n      } else {\n        LOG.info(\"Creating @|bold {}|@...\", relativeDirectory);\n        exec(\n            workspace,\n            \"git\",\n            \"subtree\",\n            \"add\",\n            \"--prefix=\" + relativeDirectory,\n            git.remote(),\n            git.branch());\n      }\n    }\n\n    LOG.info(\"Done.\");\n  }\n\n  private static void exec(final Path workDir, final String... command)\n      throws IOException, InterruptedException {\n    final Process process =\n        new ProcessBuilder().directory(workDir.toFile()).command(command).inheritIO().start();\n\n    final int exitCode = process.waitFor();\n\n    if (exitCode != 0) {\n      final String commandStr = Joiner.on(' ').join(command);\n      final String message = \"Command failed with exit code \" + exitCode + \" \" + commandStr;\n      throw new IOException(message);\n    }\n  }\n}\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/cli/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"cli\",\n    srcs = [\"Options.java\"],\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-repos:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/net/sf/jopt-simple\",\n        \"//3rdparty/tools:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/cli/Options.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncrepos.cli;\n\nimport com.google.auto.value.AutoValue;\nimport java.io.File;\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.nio.file.Paths;\nimport java.util.Arrays;\nimport joptsimple.OptionParser;\nimport joptsimple.OptionSet;\nimport joptsimple.OptionSpec;\n\n@AutoValue\npublic abstract class Options {\n\n  Options() {}\n\n  public abstract Path workspaceDirectory();\n\n  public abstract boolean verbose();\n\n  public Path inputFile() {\n    return thirdPartyDirectory().resolve(\"repositories.yaml\");\n  }\n\n  public Path thirdPartyDirectory() {\n    return workspaceDirectory().resolve(\"3rdparty\");\n  }\n\n  public static Options parse(final String... args) throws IOException {\n    final OptionParser parser = new OptionParser();\n\n    final OptionSpec<Void> helpOption = parser.accepts(\"help\").forHelp();\n    final OptionSpec<Void> verboseFlag = parser.acceptsAll(Arrays.asList(\"verbose\", \"v\"));\n    final OptionSpec<File> workspaceDirectoryArgument =\n        parser\n            .acceptsAll(Arrays.asList(\"workspace-directory\", \"w\"))\n            .withRequiredArg()\n            .ofType(File.class);\n\n    final OptionSet optionSet = parser.parse(args);\n\n    if (optionSet.has(helpOption)) {\n      parser.printHelpOn(System.err);\n      throw new IllegalStateException(\"Help requested\"); // TODO(dflemstr): hack\n    }\n\n    final Path workspaceDirectory;\n\n    if (optionSet.has(workspaceDirectoryArgument)) {\n      workspaceDirectory = optionSet.valueOf(workspaceDirectoryArgument).toPath().normalize();\n    } else {\n      workspaceDirectory = Paths.get(\".\");\n    }\n\n    return create(workspaceDirectory, optionSet.has(verboseFlag));\n  }\n\n  public static Options create(final Path workspaceDirectory, final boolean verbose) {\n    return builder().workspaceDirectory(workspaceDirectory).verbose(verbose).build();\n  }\n\n  public static Builder builder() {\n    return new AutoValue_Options.Builder();\n  }\n\n  @AutoValue.Builder\n  public abstract static class Builder {\n\n    Builder() {}\n\n    public abstract Builder workspaceDirectory(final Path workspaceDirectory);\n\n    public abstract Builder verbose(final boolean verbose);\n\n    public abstract Options build();\n  }\n}\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/config/BUILD",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\nload(\"//tools:java.bzl\", \"JAVACOPTS\")\nload(\"@rules_java//java:defs.bzl\", \"java_library\")\n\njava_library(\n    name = \"config\",\n    srcs = glob([\"*.java\"]),\n    javacopts = JAVACOPTS,\n    visibility = [\"//sync-repos:__subpackages__\"],\n    deps = [\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-annotations\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-core\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/core:jackson-databind\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/dataformat:jackson-dataformat-yaml\",\n        \"//3rdparty/jvm/com/fasterxml/jackson/datatype:jackson-datatype-guava\",\n        \"//3rdparty/jvm/com/google/auto/value:auto-value-annotations\",\n        \"//3rdparty/jvm/com/google/guava\",\n        \"//3rdparty/tools:auto-value\",\n    ],\n)\n"
  },
  {
    "path": "sync-repos/src/main/java/com/spotify/syncrepos/config/Repositories.java",
    "content": "/*\n * Copyright 2016-2017 Spotify AB\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\npackage com.spotify.syncrepos.config;\n\nimport com.google.auto.value.AutoValue;\nimport com.google.common.collect.ImmutableMap;\n\nimport com.fasterxml.jackson.annotation.JsonCreator;\nimport com.fasterxml.jackson.annotation.JsonIgnoreProperties;\nimport com.fasterxml.jackson.annotation.JsonProperty;\nimport com.fasterxml.jackson.databind.ObjectMapper;\nimport com.fasterxml.jackson.dataformat.yaml.YAMLFactory;\nimport com.fasterxml.jackson.datatype.guava.GuavaModule;\n\nimport java.io.IOException;\nimport java.nio.file.Path;\nimport java.util.Map;\n\n@AutoValue\n@JsonIgnoreProperties(ignoreUnknown = true)\npublic abstract class Repositories {\n\n  Repositories() {}\n\n  @JsonProperty(\"git\")\n  public abstract ImmutableMap<String, Git> git();\n\n  public static Repositories parseYaml(final Path path) throws IOException {\n    final ObjectMapper mapper =\n        new ObjectMapper(new YAMLFactory()).registerModule(new GuavaModule());\n    return mapper.readValue(path.toFile(), Repositories.class);\n  }\n\n  @JsonCreator\n  public static Repositories create(@JsonProperty(\"git\") final ImmutableMap<String, Git> git) {\n    return builder().git(git == null ? ImmutableMap.of() : git).build();\n  }\n\n  public static Builder builder() {\n    return new AutoValue_Repositories.Builder();\n  }\n\n  @AutoValue.Builder\n  public abstract static class Builder {\n\n    Builder() {}\n\n    public abstract ImmutableMap.Builder<String, Git> gitBuilder();\n\n    public Builder git(final Map<String, Git> git) {\n      gitBuilder().putAll(git);\n      return this;\n    }\n\n    public abstract Repositories build();\n  }\n\n  @AutoValue\n  @JsonIgnoreProperties(ignoreUnknown = true)\n  public abstract static class Git {\n\n    Git() {}\n\n    @JsonProperty(\"remote\")\n    public abstract String remote();\n\n    @JsonProperty(\"branch\")\n    public abstract String branch();\n\n    @JsonCreator\n    public static Git create(\n        @JsonProperty(\"remote\") final String remote, @JsonProperty(\"branch\") final String branch) {\n      return builder().remote(remote).branch(branch).build();\n    }\n\n    public static Builder builder() {\n      return new AutoValue_Repositories_Git.Builder();\n    }\n\n    @AutoValue.Builder\n    public abstract static class Builder {\n\n      Builder() {}\n\n      public abstract Builder remote(final String remote);\n\n      public abstract Builder branch(final String branch);\n\n      public abstract Git build();\n    }\n  }\n}\n"
  },
  {
    "path": "tools/BUILD",
    "content": "exports_files([\"java.bzl\"])\n"
  },
  {
    "path": "tools/bazel.rc",
    "content": "build --proto_toolchain_for_java=//:protobuf_java_toolchain\n"
  },
  {
    "path": "tools/bazel.travis.rc",
    "content": "startup --host_jvm_args=-Xmx2500m\nstartup --host_jvm_args=-Xms2500m\nstartup --batch\ncommon --color=yes\ntest --ram_utilization_factor=10\nbuild --proto_toolchain_for_java=//:protobuf_java_toolchain\nbuild --verbose_failures\n"
  },
  {
    "path": "tools/java.bzl",
    "content": "JAVACOPTS = [\n    \"-Xlint:cast\",\n    \"-Xlint:deprecation\",\n    \"-Xlint:divzero\",\n    \"-Xlint:empty\",\n    \"-Xlint:fallthrough\",\n    \"-Xlint:finally\",\n    \"-Xlint:overrides\",\n    \"-Xlint:path\",\n    \"-Xlint:serial\",\n    \"-Xlint:unchecked\",\n    \"-Xlint:-options\",\n    \"-XepAllDisabledChecksAsWarnings\",\n    \"-XepDisableWarningsInGeneratedCode\",\n    # We *prefer* to use final, this lint *discourages* it\n    \"-Xep:Var:OFF\",\n    # We *prefer* to have default and static methods on interfaces, this lint *discourages* it\n    \"-Xep:StaticOrDefaultInterfaceMethod:OFF\",\n    # These are unnecessary since we are not targeting Android nor Java 7\n    \"-Xep:AndroidJdkLibsChecker:OFF\",\n    \"-Xep:Java7ApiChecker:OFF\",\n    # We prefer to use a vendor-neutral @Immutable annotation\n    \"-Xep:ImmutableRefactoring:OFF\",\n    #\"-Werror\",\n]\n"
  },
  {
    "path": "tools.bzl",
    "content": "# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nload(\"@bazel_tools//tools/build_defs/repo:http.bzl\", \"http_archive\")\nload(\"//3rdparty:workspace.bzl\", \"maven_dependencies\")\n\ndef bazel_tools_repositories():\n    bazel_version = \"1.2.1\"\n\n    _maybe(\n        http_archive,\n        name = \"io_bazel\",\n        sha256 = \"255da49d0f012bc4f2c1d6d3ccdbe578e22fe97b8d124e1629a486fe2a09d3e1\",\n        url = \"https://github.com/bazelbuild/bazel/releases/download/%s/bazel-%s-dist.zip\" % (bazel_version, bazel_version),\n    )\n\n    bazelbuild_buildtools_version = \"77355e5628b4bfffa932bc8645ea165d9f5c486d\"  # branch master\n\n    _maybe(\n        http_archive,\n        name = \"io_bazel_buildtools\",\n        sha256 = \"df7f345aaf9a5a25ca52d9aae90fbb680fea51e0ffd27d6332a7a6529c59a250\",\n        strip_prefix = \"buildtools-%s\" % bazelbuild_buildtools_version,\n        url = \"https://github.com/bazelbuild/buildtools/archive/%s.zip\" % bazelbuild_buildtools_version,\n    )\n\n    maven_dependencies()\n\n    native.bind(\n        name = \"spotify_bazel_tools/dependency/buildtools/buildifier\",\n        actual = \"@io_bazel_buildtools//buildifier\",\n    )\n\n    native.bind(\n        name = \"spotify_bazel_tools/dependency/buildtools/buildozer\",\n        actual = \"@io_bazel_buildtools//buildozer\",\n    )\n\n    native.bind(\n        name = \"spotify_bazel_tools/dependency/buildtools/unused-deps\",\n        actual = \"@io_bazel_buildtools//unused_deps\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/com_google_protobuf/protobuf_java\",\n        actual = \"//3rdparty/jvm/com/google/protobuf:protobuf-java\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scala/parser_combinators\",\n        actual = \"//3rdparty/jvm/org/scala-lang/modules:scala-parser-combinators\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scala/scala_compiler\",\n        actual = \"//3rdparty/jvm/org/scala-lang:scala-compiler\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scala/scala_library\",\n        actual = \"//3rdparty/jvm/org/scala-lang:scala-library\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scala/scala_reflect\",\n        actual = \"//3rdparty/jvm/org/scala-lang:scala-reflect\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scala/scala_xml\",\n        actual = \"//3rdparty/jvm/org/scala-lang/modules:scala-xml\",\n    )\n\n    native.bind(\n        name = \"io_bazel_rules_scala/dependency/scalatest/scalatest\",\n        actual = \"//3rdparty/jvm/org/scalatest:scalatest\",\n    )\n\ndef _maybe(repo_rule, name, **kwargs):\n    if name not in native.existing_rules():\n        repo_rule(name = name, **kwargs)\n"
  },
  {
    "path": "unused/BUILD",
    "content": "load(\"@rules_python//python:defs.bzl\", \"py_binary\")\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nlicenses([\"notice\"])\n\npy_binary(\n    name = \"unused\",\n    srcs = [\"unused.py\"],\n)\n"
  },
  {
    "path": "unused/README.md",
    "content": "# unused\n\nA tool for showing source files that are not used in the build.\n\nSome useful commands:\n\n  - Find unused `.java` files:\n\n        unused/run -r '\\.java$'\n"
  },
  {
    "path": "unused/run",
    "content": "#!/bin/sh -eu\nscript=$(mktemp)\nbazel run --script_path=\"$script\" @spotify_bazel_tools//unused\nexec \"$script\" -w \"$PWD\" \"$@\"\n"
  },
  {
    "path": "unused/unused.py",
    "content": "#!/usr/bin/env python\n\n# Copyright 2016-2017 Spotify AB\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\nfrom __future__ import print_function\n\nimport argparse\nimport re\nimport subprocess\n\nimport sys\n\n\ndef main():\n    parser = argparse.ArgumentParser()\n\n    parser.add_argument('--workspace', '-w')\n    parser.add_argument('--regex', '-r')\n    parser.add_argument('positional_regex', nargs='?')\n\n    args = parser.parse_args()\n\n    workspace = args.workspace\n    regex = args.regex or args.positional_regex\n\n    if regex is not None:\n        print('Using regex', regex, 'for filtering', file=sys.stderr)\n        compiled_regex = re.compile(regex)\n\n        def filter_fn(line):\n            return compiled_regex.findall(line)\n    else:\n        def filter_fn(_line):\n            return True\n\n    def is_local(label):\n        return label.startswith('//')\n\n    def to_path(local_label):\n        return local_label[2:].replace(':', '/')  # //x/y:foo.cc -> x/y/foo.cc\n\n    bazel_cmd = ['bazel', 'query', '--output=label', 'kind(\"source file\", deps(//...))']\n    bazel_paths = set(map(to_path, filter(is_local, lines_set(workspace, bazel_cmd, filter_fn))))\n\n    git_cmd = ['git', 'ls-files']\n    git_paths = lines_set(workspace, git_cmd, filter_fn)\n\n    for path in sorted(git_paths - bazel_paths):\n        print(path)\n\n\ndef lines_set(cwd, cmd, filter_fn):\n    print('Running command', cmd, '...', file=sys.stderr)\n    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, cwd=cwd)\n    try:\n        result = set()\n\n        for line in iter(lambda: process.stdout.readline().decode('utf-8'), ''):\n            if filter_fn(line):\n                result.add(line.rstrip('\\n'))\n\n        process.wait()\n    finally:\n        process.kill()\n    return result\n\n\nif __name__ == '__main__':\n    main()\n"
  }
]