GEM
  remote: https://rubygems.org/
  specs:
    activesupport (4.2.11.3)
      i18n (~> 0.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.7.0)
      public_suffix (>= 2.0.2, < 5.0)
    ansi (1.5.0)
    backports (3.18.2)
    bookbindery (10.1.15)
      ansi (~> 1.4)
      css_parser
      elasticsearch
      fog-aws (~> 0.7.1)
      font-awesome-sass (= 4.7.0)
      git (~> 1.2.8)
      middleman (= 4.1.10)
      middleman-compass
      middleman-livereload
      middleman-sprockets
      middleman-syntax (= 2.1.0)
      nokogiri (= 1.10.1)
      puma
      rack-rewrite
      redcarpet (~> 3.2.3)
      rouge (!= 1.9.1)
      sprockets (= 3.7.2)
      therubyracer
      thor (= 0.19.1)
    builder (3.2.4)
    chunky_png (1.3.14)
    coffee-script (2.4.1)
      coffee-script-source
      execjs
    coffee-script-source (1.12.2)
    compass (1.0.3)
      chunky_png (~> 1.2)
      compass-core (~> 1.0.2)
      compass-import-once (~> 1.0.5)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9)
      sass (>= 3.3.13, < 3.5)
    compass-core (1.0.3)
      multi_json (~> 1.0)
      sass (>= 3.3.0, < 3.5)
    compass-import-once (1.0.5)
      sass (>= 3.2, < 3.5)
    concurrent-ruby (1.1.7)
    contracts (0.13.0)
    css_parser (1.7.1)
      addressable
    dotenv (2.7.6)
    elasticsearch (7.9.0)
      elasticsearch-api (= 7.9.0)
      elasticsearch-transport (= 7.9.0)
    elasticsearch-api (7.9.0)
      multi_json
    elasticsearch-transport (7.9.0)
      faraday (~> 1)
      multi_json
    em-websocket (0.5.2)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0.6.0)
    erubis (2.7.0)
    eventmachine (1.2.7)
    excon (0.78.0)
    execjs (2.7.0)
    faraday (1.1.0)
      multipart-post (>= 1.2, < 3)
      ruby2_keywords
    fast_blank (1.0.0)
    fastimage (2.2.0)
    ffi (1.13.1)
    fog-aws (0.7.6)
      fog-core (~> 1.27)
      fog-json (~> 1.0)
      fog-xml (~> 0.1)
      ipaddress (~> 0.8)
    fog-core (1.45.0)
      builder
      excon (~> 0.58)
      formatador (~> 0.2)
    fog-json (1.2.0)
      fog-core
      multi_json (~> 1.10)
    fog-xml (0.1.3)
      fog-core
      nokogiri (>= 1.5.11, < 2.0.0)
    font-awesome-sass (4.7.0)
      sass (>= 3.2)
    formatador (0.2.5)
    git (1.2.9.1)
    haml (5.2.0)
      temple (>= 0.8.0)
      tilt
    hamster (3.0.0)
      concurrent-ruby (~> 1.0)
    hashie (3.6.0)
    http_parser.rb (0.6.0)
    i18n (0.7.0)
    ipaddress (0.8.3)
    kramdown (1.17.0)
    libv8 (3.16.14.19)
    listen (3.0.8)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    memoist (0.16.2)
    middleman (4.1.10)
      coffee-script (~> 2.2)
      compass-import-once (= 1.0.5)
      haml (>= 4.0.5)
      kramdown (~> 1.2)
      middleman-cli (= 4.1.10)
      middleman-core (= 4.1.10)
      sass (>= 3.4.0, < 4.0)
    middleman-cli (4.1.10)
      thor (>= 0.17.0, < 2.0)
    middleman-compass (4.0.1)
      compass (>= 1.0.0, < 2.0.0)
      middleman-core (>= 4.0.0)
    middleman-core (4.1.10)
      activesupport (~> 4.2)
      addressable (~> 2.3)
      backports (~> 3.6)
      bundler (~> 1.1)
      contracts (~> 0.13.0)
      dotenv
      erubis
      execjs (~> 2.0)
      fast_blank
      fastimage (~> 2.0)
      hamster (~> 3.0)
      hashie (~> 3.4)
      i18n (~> 0.7.0)
      listen (~> 3.0.0)
      memoist (~> 0.14)
      padrino-helpers (~> 0.13.0)
      parallel
      rack (>= 1.4.5, < 2.0)
      sass (>= 3.4)
      servolux
      tilt (~> 1.4.1)
      uglifier (~> 3.0)
    middleman-livereload (3.4.6)
      em-websocket (~> 0.5.1)
      middleman-core (>= 3.3)
      rack-livereload (~> 0.3.15)
    middleman-sprockets (4.1.1)
      middleman-core (~> 4.0)
      sprockets (>= 3.0)
    middleman-syntax (2.1.0)
      middleman-core (>= 3.2)
      rouge (~> 1.0)
    mini_portile2 (2.4.0)
    minitest (5.14.2)
    multi_json (1.15.0)
    multipart-post (2.1.1)
    nio4r (2.5.4)
    nokogiri (1.10.1)
      mini_portile2 (~> 2.4.0)
    padrino-helpers (0.13.3.4)
      i18n (~> 0.6, >= 0.6.7)
      padrino-support (= 0.13.3.4)
      tilt (>= 1.4.1, < 3)
    padrino-support (0.13.3.4)
      activesupport (>= 3.1)
    parallel (1.19.2)
    public_suffix (4.0.6)
    puma (5.0.4)
      nio4r (~> 2.0)
    rack (1.6.13)
    rack-livereload (0.3.17)
      rack
    rack-rewrite (1.5.1)
    rb-fsevent (0.10.4)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    redcarpet (3.2.3)
    ref (2.0.0)
    rouge (1.11.1)
    ruby2_keywords (0.0.2)
    sass (3.4.25)
    servolux (0.13.0)
    sprockets (3.7.2)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    temple (0.8.2)
    therubyracer (0.12.3)
      libv8 (~> 3.16.14.15)
      ref
    thor (0.19.1)
    thread_safe (0.3.6)
    tilt (1.4.1)
    tzinfo (1.2.7)
      thread_safe (~> 0.1)
    uglifier (3.2.0)
      execjs (>= 0.3.0, < 3)

PLATFORMS
  ruby

DEPENDENCIES
  bookbindery
  libv8
