# DO NOT EDIT
# generated with the following command:
#
#   tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b lib/js/bower_components.bzl
#

load("//tools/bzl:js.bzl", "bower_archive")

def load_bower_archives():
    bower_archive(
        name = "accessibility-developer-tools",
        package = "accessibility-developer-tools",
        version = "2.11.0",
        sha1 = "792cb24b649dafb316e7e536f8ae65d0d7b52bab",
    )
    bower_archive(
        name = "async",
        package = "async",
        version = "1.5.2",
        sha1 = "1ec975d3b3834646a7e3d4b7e68118b90ed72508",
    )
    bower_archive(
        name = "chai",
        package = "chai",
        version = "3.5.0",
        sha1 = "849ad3ee7c77506548b7b5db603a4e150b9431aa",
    )
    bower_archive(
        name = "iron-a11y-announcer",
        package = "iron-a11y-announcer",
        version = "1.0.5",
        sha1 = "007902c041dd8863a1fe893f62450852f4d8c69b",
    )
    bower_archive(
        name = "iron-a11y-keys-behavior",
        package = "iron-a11y-keys-behavior",
        version = "1.1.9",
        sha1 = "f58358ee652c67e6e721364ba50fb77a2ece1465",
    )
    bower_archive(
        name = "iron-behaviors",
        package = "iron-behaviors",
        version = "1.0.17",
        sha1 = "47df7e1c2b97978dcafa13edb50fbdb702570acd",
    )
    bower_archive(
        name = "iron-fit-behavior",
        package = "iron-fit-behavior",
        version = "1.2.5",
        sha1 = "5938815cd227843fc77ebeac480b999600a76157",
    )
    bower_archive(
        name = "iron-flex-layout",
        package = "iron-flex-layout",
        version = "1.3.1",
        sha1 = "ba696394abff5e799fc06eb11bff4720129a1b52",
    )
    bower_archive(
        name = "iron-form-element-behavior",
        package = "iron-form-element-behavior",
        version = "1.0.6",
        sha1 = "8d9e6530edc1b99bec1a5c34853911fba3701220",
    )
    bower_archive(
        name = "iron-meta",
        package = "iron-meta",
        version = "1.1.2",
        sha1 = "dc22fe05e1cb5f94f30a7193d3433ca1808773b8",
    )
    bower_archive(
        name = "iron-resizable-behavior",
        package = "iron-resizable-behavior",
        version = "1.0.5",
        sha1 = "2ebe983377dceb3794dd335131050656e23e2beb",
    )
    bower_archive(
        name = "iron-validatable-behavior",
        package = "iron-validatable-behavior",
        version = "1.1.1",
        sha1 = "480423380be0536f948735d91bc472f6e7ced5b4",
    )
    bower_archive(
        name = "lodash",
        package = "lodash",
        version = "3.10.1",
        sha1 = "2f207a8293c4c554bf6cf071241f7a00dc513d3a",
    )
    bower_archive(
        name = "mocha",
        package = "mocha",
        version = "3.2.0",
        sha1 = "b77f23f7ad1f1363501bcae96f0f4f47745dad0f",
    )
    bower_archive(
        name = "neon-animation",
        package = "neon-animation",
        version = "1.2.4",
        sha1 = "e8ccbb930c4b7ff470b1450baa901618888a7fd3",
    )
    bower_archive(
        name = "sinon-chai",
        package = "sinon-chai",
        version = "2.8.0",
        sha1 = "0464b5d944fdf8116bb23e0b02ecfbac945b3517",
    )
    bower_archive(
        name = "sinonjs",
        package = "sinonjs",
        version = "1.17.1",
        sha1 = "a26a6aab7358807de52ba738770f6ac709afd240",
    )
    bower_archive(
        name = "stacky",
        package = "stacky",
        version = "1.3.2",
        sha1 = "d6c07a0112ab2e9677fe085933744466a89232fb",
    )
    bower_archive(
        name = "web-animations-js",
        package = "web-animations-js",
        version = "2.2.2",
        sha1 = "6276a9f227da7d4ccaf77c202b50e174dd11a2c2",
    )
    bower_archive(
        name = "webcomponentsjs",
        package = "webcomponentsjs",
        version = "0.7.23",
        sha1 = "3d62269e614175573b0a0f3039aab05d40f0a763",
    )
