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.8.0)
      public_suffix (>= 2.0.2, < 5.0)
    ansi (1.5.0)
    backports (3.23.0)
    bookbindery (10.1.18)
      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)
      thor (= 0.19.1)
    builder (3.2.4)
    chunky_png (1.4.0)
    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.9)
    contracts (0.13.0)
    css_parser (1.11.0)
      addressable
    dotenv (2.7.6)
    elastic-transport (8.0.0)
      faraday (~> 1)
      multi_json
    elasticsearch (8.1.0)
      elastic-transport (= 8.0.0)
      elasticsearch-api (= 8.1.0)
    elasticsearch-api (8.1.0)
      multi_json
    em-websocket (0.5.3)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0)
    erubis (2.7.0)
    eventmachine (1.2.7)
    excon (0.91.0)
    execjs (2.8.1)
    faraday (1.10.0)
      faraday-em_http (~> 1.0)
      faraday-em_synchrony (~> 1.0)
      faraday-excon (~> 1.1)
      faraday-httpclient (~> 1.0)
      faraday-multipart (~> 1.0)
      faraday-net_http (~> 1.0)
      faraday-net_http_persistent (~> 1.0)
      faraday-patron (~> 1.0)
      faraday-rack (~> 1.0)
      faraday-retry (~> 1.0)
      ruby2_keywords (>= 0.0.4)
    faraday-em_http (1.0.0)
    faraday-em_synchrony (1.0.0)
    faraday-excon (1.1.0)
    faraday-httpclient (1.0.1)
    faraday-multipart (1.0.3)
      multipart-post (>= 1.2, < 3)
    faraday-net_http (1.0.1)
    faraday-net_http_persistent (1.2.0)
    faraday-patron (1.0.0)
    faraday-rack (1.0.0)
    faraday-retry (1.0.3)
    fast_blank (1.0.1)
    fastimage (2.2.6)
    ffi (1.15.5)
    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.4)
      fog-core
      nokogiri (>= 1.5.11, < 2.0.0)
    font-awesome-sass (4.7.0)
      sass (>= 3.2)
    formatador (0.3.0)
    git (1.2.9.1)
    haml (5.2.2)
      temple (>= 0.8.0)
      tilt
    hamster (3.0.0)
      concurrent-ruby (~> 1.0)
    hashie (3.6.0)
    http_parser.rb (0.8.0)
    i18n (0.7.0)
    ipaddress (0.8.3)
    kramdown (1.17.0)
    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.7)
      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.15.0)
    multi_json (1.15.0)
    multipart-post (2.1.1)
    nio4r (2.5.8)
    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.21.0)
    public_suffix (4.0.6)
    puma (5.6.4)
      nio4r (~> 2.0)
    rack (1.6.13)
    rack-livereload (0.3.17)
      rack
    rack-rewrite (1.5.1)
    rb-fsevent (0.11.1)
    rb-inotify (0.10.1)
      ffi (~> 1.0)
    redcarpet (3.2.3)
    rouge (1.11.1)
    ruby2_keywords (0.0.5)
    sass (3.4.25)
    servolux (0.13.0)
    sprockets (3.7.2)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    temple (0.8.2)
    thor (0.19.1)
    thread_safe (0.3.6)
    tilt (1.4.1)
    tzinfo (1.2.9)
      thread_safe (~> 0.1)
    uglifier (3.2.0)
      execjs (>= 0.3.0, < 3)

PLATFORMS
  ruby

DEPENDENCIES
  bookbindery

BUNDLED WITH
   1.17.3
