├── .editorconfig ├── .gitignore ├── .travis.yml ├── CHANGELOG.md ├── LICENSE ├── README.md ├── demo ├── demo.css ├── demo.js └── index.html ├── diagrams ├── inview.png └── inview.xml ├── inview.js ├── package-lock.json └── package.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # EditorConfig is awesome: http://EditorConfig.org 2 | 3 | # top-most EditorConfig file 4 | root = true 5 | 6 | [*] 7 | # use line feed 8 | end_of_line = lf 9 | 10 | # ensure file ends with a newline when saving 11 | insert_final_newline = true 12 | 13 | # soft tabs 14 | indent_style = space 15 | 16 | # number of columns used for each indentation level 17 | indent_size = 2 18 | 19 | # remove any whitespace characters preceding newline characters 20 | trim_trailing_whitespace = true 21 | 22 | # character set 23 | charset = utf-8 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | //this will affect all the git repos 2 | git config --global core.excludesfile ~/.gitignore 3 | 4 | 5 | //update files since .ignore won't if already tracked 6 | git rm --cached 7 | 8 | # Compiled source # 9 | ################### 10 | *.com 11 | *.class 12 | *.dll 13 | *.exe 14 | *.o 15 | *.so 16 | 17 | # Packages # 18 | ############ 19 | # it's better to unpack these files and commit the raw source 20 | # git has its own built in compression methods 21 | *.7z 22 | *.dmg 23 | *.gz 24 | *.iso 25 | *.jar 26 | *.rar 27 | *.tar 28 | *.zip 29 | 30 | # Logs and databases # 31 | ###################### 32 | *.log 33 | *.sql 34 | *.sqlite 35 | 36 | # OS generated files # 37 | ###################### 38 | .DS_Store 39 | .DS_Store? 40 | ._* 41 | .Spotlight-V100 42 | .Trashes 43 | # Icon? 44 | ehthumbs.db 45 | Thumbs.db 46 | .cache 47 | .project 48 | .settings 49 | .tmproj 50 | *.esproj 51 | nbproject 52 | 53 | # Numerous always-ignore extensions # 54 | ##################################### 55 | *.diff 56 | *.err 57 | *.orig 58 | *.rej 59 | *.swn 60 | *.swo 61 | *.swp 62 | *.vi 63 | *~ 64 | *.sass-cache 65 | *.grunt 66 | *.tmp 67 | 68 | # Dreamweaver added files # 69 | ########################### 70 | _notes 71 | dwsync.xml 72 | 73 | # Komodo # 74 | ########################### 75 | *.komodoproject 76 | .komodotools 77 | 78 | # Node # 79 | ##################### 80 | node_modules 81 | 82 | # Bower # 83 | ##################### 84 | bower_components 85 | 86 | # Folders to ignore # 87 | ##################### 88 | .hg 89 | .svn 90 | .CVS 91 | intermediate 92 | publish 93 | .idea 94 | .graphics 95 | _test 96 | _archive 97 | uploads 98 | tmp 99 | 100 | # Vim files to ignore # 101 | ####################### 102 | .VimballRecord 103 | .netrwhist 104 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: node_js 3 | node_js: 4 | - "10" 5 | 6 | before_script: 7 | - npm install 8 | 9 | script: 10 | - npm test 11 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | All notable changes to this project will be documented in this file. 3 | This project adheres to [Semantic Versioning](http://semver.org/). 4 | 5 | ## [Unreleased][unreleased] 6 | ### Fixed 7 | - Fix Markdown links to tag comparison URL with footnote-style links. 8 | 9 | ## [0.0.2] - 2015-02-15 10 | ### Changed 11 | - `Inview` global to `inView` 12 | 13 | ## [0.0.3] - 2015-02-22 14 | ### Changed 15 | - Fixed exports typo 16 | 17 | ## [0.0.4] - 2015-05-01 18 | ### Changed 19 | - Reverted `inview` global to `InView` 20 | - Added `data.elementOffsetTopInViewHeight` 21 | 22 | ## [0.0.5] - 2015-05-01 23 | ### Changed 24 | - Fixed inverted height values 25 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT license 2 | 3 | Copyright (C) 2014 Miguel Mota 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies 9 | of the Software, and to permit persons to whom the Software is furnished to do 10 | so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 |
3 | logo 4 |
5 |
6 |
7 |

8 | 9 | # inView 10 | 11 | > Detect when element scrolled to view 12 | 13 | [![License](http://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/miguelmota/inview/master/LICENSE) [![Build Status](https://travis-ci.org/miguelmota/inview.svg?branch=master)](https://travis-ci.org/miguelmota/inview) [![dependencies Status](https://david-dm.org/miguelmota/inview/status.svg)](https://david-dm.org/miguelmota/inview) [![NPM version](https://badge.fury.io/js/inview.svg)](http://badge.fury.io/js/inview) 14 | 15 | ## Demo 16 | 17 | [https://lab.miguelmota.com/inview/demo/](https://lab.miguelmota.com/inview/demo/) 18 | 19 | ## Install 20 | 21 | ```bash 22 | npm install inview 23 | ``` 24 | 25 | ## Getting started 26 | 27 | Basic example 28 | 29 | ```javascript 30 | var inview = InView(el, function(isInView) { 31 | if (isInView) { 32 | // do something 33 | // ... 34 | } 35 | }); 36 | ``` 37 | 38 | Example showing if visible top half or bottom half of screen 39 | 40 | ```javascript 41 | var inview = InView(el, function(isInView, data) { 42 | if (isInView) { 43 | if (data.elementOffsetTopInViewHeight < data.inViewHeight/2) { 44 | console.log('in view (top half)') 45 | } else { 46 | console.log('in view (bottom half)') 47 | } 48 | } else { 49 | if (data.windowScrollTop - (data.elementOffsetTop - data.inViewHeight) > data.inViewHeight) { 50 | console.log('not in view (scroll up)') 51 | } else { 52 | console.log('not in view (scroll down)') 53 | } 54 | } 55 | }) 56 | ``` 57 | 58 | Destroy InView listeners 59 | 60 | ```javascript 61 | var inview = InView(el, function(isInView, data) { 62 | if (isInView) { 63 | // do something 64 | // ... 65 | 66 | this.destroy() 67 | } 68 | }) 69 | 70 | // another way 71 | inview.destroy() 72 | ``` 73 | 74 | ## Documentation 75 | 76 | Constructor: 77 | 78 | - *InView(element, callback)* 79 | 80 | Scroll callback parameters: 81 | 82 | - *{boolean} isInView* - is in view 83 | - *{object} data* - scroll data 84 | - *{number} data.windowScrollTop* - scrolled amount 85 | - *{number} data.elementOffsetTop* - element top offset 86 | - *{number} data.inViewHeight* - height of visible area 87 | - *{number} data.elementOffsetTopInViewHeight* - element top offset relative to height of visible area 88 | 89 | Visualization: 90 | 91 | diagram 92 | 93 | ## License 94 | 95 | [MIT](LICENSE) 96 | -------------------------------------------------------------------------------- /demo/demo.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | padding: 0; 4 | } 5 | 6 | .item { 7 | border: 1px solid #ff0000; 8 | padding: 40px; 9 | font-family: monospace; 10 | font-size: 12px; 11 | } 12 | 13 | .item.inview { 14 | border: 1px solid #00ff00 15 | } 16 | 17 | .space-filler { 18 | height: 2000px; 19 | } 20 | 21 | .status { 22 | position: fixed; 23 | background: #eee; 24 | color: #000; 25 | font: monospace; 26 | font-size: 14px; 27 | padding: 5px; 28 | width: 100%; 29 | } 30 | 31 | .output { 32 | position: fixed; 33 | color: #000; 34 | font: monospace; 35 | font-size: 10px; 36 | top: 60px; 37 | left: 60px; 38 | } 39 | 40 | .success { 41 | color: #00ff00; 42 | } 43 | 44 | .fail { 45 | color: #ff0000; 46 | } 47 | -------------------------------------------------------------------------------- /demo/demo.js: -------------------------------------------------------------------------------- 1 | ;(function () { 2 | var el = document.querySelector('.item') 3 | var status = document.querySelector('.status') 4 | var output = document.querySelector('.output') 5 | 6 | function text (el, content) { 7 | el.innerText = content 8 | } 9 | 10 | function html (el, content) { 11 | el.innerHTML = content 12 | } 13 | 14 | function statusHtml (content) { 15 | html(status, content) 16 | } 17 | 18 | function log (data) { 19 | output.innerHTML = JSON.stringify(data, null, 2) 20 | } 21 | 22 | var inView = InView(el, function (isInView, data) { 23 | log(data) 24 | el.textContent = data.elementOffsetTopInViewHeight 25 | if (isInView) { 26 | if (data.elementOffsetTopInViewHeight < data.inViewHeight / 2) { 27 | statusHtml('status: in view (top half)') 28 | } else { 29 | statusHtml('status: in view (bottom half)') 30 | } 31 | } else { 32 | if (data.windowScrollTop - (data.elementOffsetTop - data.inViewHeight) > data.inViewHeight) { 33 | statusHtml('status: not in view (scroll up)') 34 | } else { 35 | statusHtml('status: not in view (scroll down)') 36 | } 37 | } 38 | }) 39 | })(); 40 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | inview demo 7 | 8 | 9 | 10 |
11 | 12 |
13 | 14 |
item
15 | 16 |
17 | 18 |

19 | 
20 |     
21 |     
22 | 
23 |    Fork me on GitHub
24 |   
25 | 
26 | 
27 | 


--------------------------------------------------------------------------------
/diagrams/inview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/miguelmota/inview/016fbb7496a53fe9f6ea2171a1c183521f83e739/diagrams/inview.png


--------------------------------------------------------------------------------
/diagrams/inview.xml:
--------------------------------------------------------------------------------
1 | 
2 | 7Vtdc5s4FP01fmwGSQjDY+M03e7stpmmm272jRrF1i4gD5ZjJ79+JRA2SErAGOwkrR8y6CIu4pz7KcgITZLNxyxczP9kEYlH0Ik2I3QxgjDwx+KvFDwUAhcrwSyjUSECO8E1fSRK6CjpikZkWZvIGYs5XdSFU5amZMprsjDL2Lo+7Y7F9bsuwhkxBNfTMDal32nE54XUx85O/huhs3l5Z+CoM0lYTlaC5TyM2LoiQh9GaJIxxoujZDMhscSuxKW47vKJs9uFZSTlbS7452byr/f55q/HJL26yND3G+fm6p3Sch/GK/XAarH8oUQgY6s0IlKJM0Ln6znl5HoRTuXZtaBcyOY8icUIiMMlz9h/ZMJiluVXoyD/iTPmcst7k4yTTUWklv+RsITw7EFMUWeRh4tLlC2BEtr1jhlY4j+vsAI9JQyVNcy2uneAiQOF2R74wZ7xu6NxXKKXspTYIHXE7/KyJ0ixBim2QAotkG4n9g4pGtokJXqO8xzYpaeDYexWLKGl3Q6FsWtgfE/JesEybmAtnpE/B6gCzoJlGNNZKoZTgRwR8nOJGBWh9b06kdAokrexMljnuAcWtkFga+q+wYKHjkgCNkjIk9HbJcDXCChVVAhw4REJGBsEkJgk8gH75yAmd/zkDLhucyByjxmHQIv6g6TRe1nI7TCt0BCFy3mOUMFJmPFyLluQtJRdUrmsHEWhrTJ6ElMS1cpCE9EKYtiCWCnLSBxyel8vJm0wqjtcMSrNb5s5fLdOGAzOcF3Jkq2yKVHXVcu/BlUAu7oqAdWMcENVzuz20Q8g2zPI/ib9qtnZMrKkj+GPfIIcL+QS80Xj8xG+kG624mxZNA+g2es4k+61FN5G09k3ObgQKVH4L0u55r8Ju1c3dnKP5CGvjEWzQ6pjEtHqUDUlFUnK/gh/kPK5enBp7Hp1Wn3UyqXHh3u09+V3FvhL1/96O17dfoVJ+IlbGwovliQsMpHbvBnPn7sQTUW3WMpU6P1yd7ckXHDyKb0RJYnqrdR8saLqJRVxTfkLTqAGsRb6n+QaAC2BBpY6EgyUQa1sm3XkfuHb4nACi+zhb3U+H9xKBEWsUsOLzTaUy9FD6YrVTCAHVyEXpKW5BDrulgIttFv9r4iETWZ+uqygpXFH47dtThijuiLkaor6ywhWFM0CzDCf/bpn05y0TNCDF2J9FyLAhhcCC/loKCcsb9ZPEWV3necc9Z1z5jiw7q2OCxr8NR9dkYwKEGRsLYQbyre+L44rri9GO01yUCpq79WFWzxToWDT+5/eNTuV90N9yybo6P3I0RQd2fv7Lf472q1Xt1sAgldot25Lu4Untduxlmz0qqS13UIt/Y2PbLewT7u1WGjXPrbZlk7FPS67kpIy0JF7XZGxDT0097bd6Vb9zZqmEVtfTzMWx7LlfAMtjcV0e6ivPKC/kgjM+qqcc5QuBxza5hgOfxkmNJbPNxF2TwUP0PlM1uqkegkKYEP+2maj9g3SsD0ROmmICbTm2Au6ppe6IvfY6cXcJjvA2mq5pJpfXm8ucfGZVgBAr2M2MVQBiI5LdosW+HihxR4iugacPkOLf1KLw/WIAAHqZm8ealA0tLX5+1Qve27Y7lnR/KpzgL6LZ+7cA3jMOgf2upH09jKP62juG3R8F6crAniwN3F2og/deTk00bx0plGA+2K6QdHQTB+6V/GzMQ2w2w/ThqKhmW7x3dxPzTR2QZ0gvdRv3TXgBkVDM93HW9e3zbSWpzv3h3rhrysammnzE8Hu9Trt/kHFK6rVR4cX5lDbAIJj8ztFMNTnunY7OHRL6NV+Z1F4wIsp+H2N4daNv+fXFLlI25wcOpAcus301lMGGgf1nN61DER+g6KhmbZt8fxiupLTx75GEOjGNPYbFHVmWgx3/xZWTN/9bx368D8=


--------------------------------------------------------------------------------
/inview.js:
--------------------------------------------------------------------------------
  1 | ;(function (root) {
  2 |   function throttle (fn, threshhold, scope) {
  3 |     threshhold || (threshhold = 100)
  4 |     var last,
  5 |       deferTimer
  6 | 
  7 |     return function () {
  8 |       var context = scope || this
  9 | 
 10 |       var now = +(new Date())
 11 | 
 12 |       var args = arguments
 13 |       if (last && now < last + threshhold) {
 14 |         clearTimeout(deferTimer)
 15 |         deferTimer = setTimeout(function () {
 16 |           last = now
 17 |           fn.apply(context, args)
 18 |         }, threshhold)
 19 |       } else {
 20 |         last = now
 21 |         fn.apply(context, args)
 22 |       }
 23 |     }
 24 |   }
 25 | 
 26 |   function hasClass (el, name) {
 27 |     return new RegExp(' ' + name + ' ').test(' ' + el.className + ' ')
 28 |   }
 29 | 
 30 |   function addClass (el, name) {
 31 |     if (!hasClass(el, name)) {
 32 |       el.className += ' ' + name
 33 |     }
 34 |     return el
 35 |   }
 36 | 
 37 |   function removeClass (el, name) {
 38 |     var newClass = ' ' + el.className.replace(/[\t\r\n]/g, ' ') + ' '
 39 |     if (hasClass(el, name)) {
 40 |       while (newClass.indexOf(' ' + name + ' ') >= 0) {
 41 |         newClass = newClass.replace(' ' + name + ' ', ' ')
 42 |       }
 43 |       el.className = newClass.replace(/^\s+|\s+$/g, '')
 44 |     }
 45 |     return el
 46 |   }
 47 | 
 48 |   function removeEvent (el, name, fn) {
 49 |     if (el.removeEventListener) {
 50 |       return el.removeEventListener(name, fn)
 51 |     } else if (el.detachEvent) {
 52 |       return el.detachEvent('on' + name, fn)
 53 |     }
 54 |   }
 55 | 
 56 |   function addEvent (el, name, fn) {
 57 |     if (el.addEventListener) {
 58 |       return el.addEventListener(name, fn, false)
 59 |     } else if (el.attachEvent) {
 60 |       return el.attachEvent('on' + name, fn)
 61 |     }
 62 |   }
 63 | 
 64 |   function getScrollTop () {
 65 |     if (typeof window.pageYOffset !== 'undefined') {
 66 |       return window.pageYOffset
 67 |     } else {
 68 |       var b = document.body
 69 |       var d = document.documentElement
 70 |       d = d.clientHeight ? d : b
 71 |       return d.scrollTop
 72 |     }
 73 |   }
 74 | 
 75 |   function isInView (obj) {
 76 |     var winTop = getScrollTop()
 77 | 
 78 |     var winBottom = winTop + window.innerHeight
 79 | 
 80 |     var objTop = obj.getBoundingClientRect().top + document.documentElement.scrollTop
 81 | 
 82 |     var objBottom = objTop + obj.offsetHeight
 83 | 
 84 |     var offset = 0
 85 | 
 86 |     if ((objTop <= winBottom + offset) && (objBottom >= winTop)) {
 87 |       return true
 88 |     }
 89 | 
 90 |     return false
 91 |   }
 92 | 
 93 |   /**
 94 |    * @desc Create an InView instance.
 95 |    *
 96 |    * @class
 97 |    * @func InView
 98 |    * @param {HTMLElement} element - element to detect when scrolled to view
 99 |    * @param {scrollCallback} scrollCallback - callback function fired on scroll event
100 |    * @return {HTMLElement} - element
101 |    *
102 |    * @example
103 |    * var el = document.querySelector('.item');
104 |    *
105 |    * var InView = InView(el, function(isInView, data) {
106 |    *   if (isInView) {
107 |    *     console.log('in view');
108 |    *   } else {
109 |    *     if (data.windowScrollTop - (data.elementOffsetTop - data.inViewHeight) > data.inViewHeight) {
110 |    *       console.log('not in view (scroll up)');
111 |    *     } else {
112 |    *       console.log('not in view (scroll down)');
113 |    *     }
114 |    *   }
115 |    * });
116 |    */
117 |   function InView (el, callback) {
118 |     var _this = this
119 |     if (!(_this instanceof InView)) {
120 |       return new InView(el, callback)
121 |     }
122 | 
123 |     _this.el = el
124 |     _this.callback = callback.bind(_this)
125 |     _this.destroy = function () {}
126 | 
127 |     if (!el) {
128 |       return _this
129 |     }
130 | 
131 |     var isDestroyed = false
132 | 
133 |     var check = function check (e) {
134 |       if (isDestroyed) return false
135 | 
136 |       var params = {
137 |         windowScrollTop: getScrollTop(),
138 |         elementOffsetTop: _this.el.offsetTop,
139 |         inViewHeight: window.innerHeight,
140 |         elementOffsetTopInViewHeight: window.innerHeight - (getScrollTop() - (_this.el.offsetTop - window.innerHeight))
141 |       }
142 |       if (isInView(_this.el)) {
143 |         addClass(_this.el, 'inview')
144 |         _this.callback.call(_this, true, params)
145 |       } else {
146 |         removeClass(_this.el, 'inview')
147 |         _this.callback.call(_this, false, params)
148 |       }
149 |     }
150 | 
151 |     var throttledCheck = throttle(check, 100)
152 | 
153 |     addEvent(window, 'scroll', throttledCheck)
154 | 
155 |     _this.destroy = function () {
156 |       isDestroyed = true
157 |       removeEvent(window, 'scroll', throttledCheck)
158 |     }
159 | 
160 |     throttledCheck()
161 | 
162 |     return _this
163 |   }
164 | 
165 |   /**
166 |    * @desc InView callback
167 |    *
168 |    * @callback scrollCallback
169 |    * @param {boolean} isInView - is in view
170 |    * @param {object} data - scroll data
171 |    * @param {number} data.windowScrollTop - scrolled amount
172 |    * @param {number} data.elementOffsetTop - element top offset
173 |    * @param {number} data.inViewHeight - height of visible area
174 |    * @param {number} data.elementOffsetTopInViewHeight - element top offset relative to height of visible area
175 |    */
176 | 
177 |   if (typeof exports !== 'undefined') {
178 |     if (typeof module !== 'undefined' && module.exports) {
179 |       exports = module.exports = InView
180 |     }
181 |     exports.InView = InView
182 |   } else {
183 |     root.InView = InView
184 |   }
185 | })(window);
186 | 


--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
   1 | {
   2 |   "name": "inview",
   3 |   "version": "0.0.15",
   4 |   "lockfileVersion": 1,
   5 |   "requires": true,
   6 |   "dependencies": {
   7 |     "@babel/parser": {
   8 |       "version": "7.6.0",
   9 |       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.0.tgz",
  10 |       "integrity": "sha512-+o2q111WEx4srBs7L9eJmcwi655eD8sXniLqMB93TBK9GrNzGrxDWSjiqz2hLU0Ha8MTXFIP0yd9fNdP+m43ZQ==",
  11 |       "dev": true
  12 |     },
  13 |     "acorn": {
  14 |       "version": "6.3.0",
  15 |       "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
  16 |       "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
  17 |       "dev": true
  18 |     },
  19 |     "acorn-jsx": {
  20 |       "version": "5.0.2",
  21 |       "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
  22 |       "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==",
  23 |       "dev": true
  24 |     },
  25 |     "ajv": {
  26 |       "version": "6.10.2",
  27 |       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
  28 |       "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
  29 |       "dev": true,
  30 |       "requires": {
  31 |         "fast-deep-equal": "^2.0.1",
  32 |         "fast-json-stable-stringify": "^2.0.0",
  33 |         "json-schema-traverse": "^0.4.1",
  34 |         "uri-js": "^4.2.2"
  35 |       }
  36 |     },
  37 |     "ajv-keywords": {
  38 |       "version": "3.4.1",
  39 |       "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
  40 |       "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==",
  41 |       "dev": true
  42 |     },
  43 |     "ansi-escapes": {
  44 |       "version": "3.2.0",
  45 |       "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
  46 |       "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
  47 |       "dev": true
  48 |     },
  49 |     "ansi-regex": {
  50 |       "version": "2.1.1",
  51 |       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
  52 |       "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
  53 |       "dev": true
  54 |     },
  55 |     "ansi-styles": {
  56 |       "version": "2.2.1",
  57 |       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
  58 |       "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
  59 |       "dev": true
  60 |     },
  61 |     "argparse": {
  62 |       "version": "1.0.10",
  63 |       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
  64 |       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
  65 |       "dev": true,
  66 |       "requires": {
  67 |         "sprintf-js": "~1.0.2"
  68 |       }
  69 |     },
  70 |     "array-includes": {
  71 |       "version": "3.0.3",
  72 |       "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz",
  73 |       "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=",
  74 |       "dev": true,
  75 |       "requires": {
  76 |         "define-properties": "^1.1.2",
  77 |         "es-abstract": "^1.7.0"
  78 |       }
  79 |     },
  80 |     "babel-code-frame": {
  81 |       "version": "6.26.0",
  82 |       "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
  83 |       "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
  84 |       "dev": true,
  85 |       "requires": {
  86 |         "chalk": "^1.1.3",
  87 |         "esutils": "^2.0.2",
  88 |         "js-tokens": "^3.0.2"
  89 |       },
  90 |       "dependencies": {
  91 |         "chalk": {
  92 |           "version": "1.1.3",
  93 |           "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
  94 |           "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
  95 |           "dev": true,
  96 |           "requires": {
  97 |             "ansi-styles": "^2.2.1",
  98 |             "escape-string-regexp": "^1.0.2",
  99 |             "has-ansi": "^2.0.0",
 100 |             "strip-ansi": "^3.0.0",
 101 |             "supports-color": "^2.0.0"
 102 |           }
 103 |         },
 104 |         "escape-string-regexp": {
 105 |           "version": "1.0.5",
 106 |           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 107 |           "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 108 |           "dev": true
 109 |         },
 110 |         "strip-ansi": {
 111 |           "version": "3.0.1",
 112 |           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
 113 |           "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
 114 |           "dev": true,
 115 |           "requires": {
 116 |             "ansi-regex": "^2.0.0"
 117 |           }
 118 |         }
 119 |       }
 120 |     },
 121 |     "balanced-match": {
 122 |       "version": "1.0.0",
 123 |       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
 124 |       "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
 125 |       "dev": true
 126 |     },
 127 |     "bluebird": {
 128 |       "version": "3.5.5",
 129 |       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
 130 |       "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
 131 |       "dev": true
 132 |     },
 133 |     "brace-expansion": {
 134 |       "version": "1.1.11",
 135 |       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 136 |       "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
 137 |       "dev": true,
 138 |       "requires": {
 139 |         "balanced-match": "^1.0.0",
 140 |         "concat-map": "0.0.1"
 141 |       }
 142 |     },
 143 |     "caller-path": {
 144 |       "version": "0.1.0",
 145 |       "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
 146 |       "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=",
 147 |       "dev": true,
 148 |       "requires": {
 149 |         "callsites": "^0.2.0"
 150 |       }
 151 |     },
 152 |     "callsites": {
 153 |       "version": "0.2.0",
 154 |       "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
 155 |       "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
 156 |       "dev": true
 157 |     },
 158 |     "catharsis": {
 159 |       "version": "0.8.11",
 160 |       "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.8.11.tgz",
 161 |       "integrity": "sha512-a+xUyMV7hD1BrDQA/3iPV7oc+6W26BgVJO05PGEoatMyIuPScQKsde6i3YorWX1qs+AZjnJ18NqdKoCtKiNh1g==",
 162 |       "dev": true,
 163 |       "requires": {
 164 |         "lodash": "^4.17.14"
 165 |       }
 166 |     },
 167 |     "chalk": {
 168 |       "version": "2.4.2",
 169 |       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
 170 |       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
 171 |       "dev": true,
 172 |       "requires": {
 173 |         "ansi-styles": "^3.2.1",
 174 |         "escape-string-regexp": "^1.0.5",
 175 |         "supports-color": "^5.3.0"
 176 |       },
 177 |       "dependencies": {
 178 |         "ansi-styles": {
 179 |           "version": "3.2.1",
 180 |           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
 181 |           "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
 182 |           "dev": true,
 183 |           "requires": {
 184 |             "color-convert": "^1.9.0"
 185 |           }
 186 |         },
 187 |         "escape-string-regexp": {
 188 |           "version": "1.0.5",
 189 |           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 190 |           "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 191 |           "dev": true
 192 |         },
 193 |         "supports-color": {
 194 |           "version": "5.5.0",
 195 |           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
 196 |           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
 197 |           "dev": true,
 198 |           "requires": {
 199 |             "has-flag": "^3.0.0"
 200 |           }
 201 |         }
 202 |       }
 203 |     },
 204 |     "chardet": {
 205 |       "version": "0.4.2",
 206 |       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
 207 |       "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
 208 |       "dev": true
 209 |     },
 210 |     "circular-json": {
 211 |       "version": "0.3.3",
 212 |       "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz",
 213 |       "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==",
 214 |       "dev": true
 215 |     },
 216 |     "cli-cursor": {
 217 |       "version": "2.1.0",
 218 |       "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
 219 |       "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
 220 |       "dev": true,
 221 |       "requires": {
 222 |         "restore-cursor": "^2.0.0"
 223 |       }
 224 |     },
 225 |     "cli-width": {
 226 |       "version": "2.2.0",
 227 |       "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
 228 |       "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
 229 |       "dev": true
 230 |     },
 231 |     "color-convert": {
 232 |       "version": "1.9.3",
 233 |       "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
 234 |       "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
 235 |       "dev": true,
 236 |       "requires": {
 237 |         "color-name": "1.1.3"
 238 |       }
 239 |     },
 240 |     "color-name": {
 241 |       "version": "1.1.3",
 242 |       "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
 243 |       "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
 244 |       "dev": true
 245 |     },
 246 |     "concat-map": {
 247 |       "version": "0.0.1",
 248 |       "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
 249 |       "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
 250 |       "dev": true
 251 |     },
 252 |     "contains-path": {
 253 |       "version": "0.1.0",
 254 |       "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz",
 255 |       "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=",
 256 |       "dev": true
 257 |     },
 258 |     "cross-spawn": {
 259 |       "version": "6.0.5",
 260 |       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
 261 |       "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
 262 |       "dev": true,
 263 |       "requires": {
 264 |         "nice-try": "^1.0.4",
 265 |         "path-key": "^2.0.1",
 266 |         "semver": "^5.5.0",
 267 |         "shebang-command": "^1.2.0",
 268 |         "which": "^1.2.9"
 269 |       }
 270 |     },
 271 |     "debug": {
 272 |       "version": "3.2.6",
 273 |       "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
 274 |       "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
 275 |       "dev": true,
 276 |       "requires": {
 277 |         "ms": "^2.1.1"
 278 |       }
 279 |     },
 280 |     "debug-log": {
 281 |       "version": "1.0.1",
 282 |       "resolved": "https://registry.npmjs.org/debug-log/-/debug-log-1.0.1.tgz",
 283 |       "integrity": "sha1-IwdjLUwEOCuN+KMvcLiVBG1SdF8=",
 284 |       "dev": true
 285 |     },
 286 |     "deep-is": {
 287 |       "version": "0.1.3",
 288 |       "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
 289 |       "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
 290 |       "dev": true
 291 |     },
 292 |     "define-properties": {
 293 |       "version": "1.1.3",
 294 |       "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
 295 |       "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
 296 |       "dev": true,
 297 |       "requires": {
 298 |         "object-keys": "^1.0.12"
 299 |       }
 300 |     },
 301 |     "deglob": {
 302 |       "version": "2.1.1",
 303 |       "resolved": "https://registry.npmjs.org/deglob/-/deglob-2.1.1.tgz",
 304 |       "integrity": "sha512-2kjwuGGonL7gWE1XU4Fv79+vVzpoQCl0V+boMwWtOQJV2AGDabCwez++nB1Nli/8BabAfZQ/UuHPlp6AymKdWw==",
 305 |       "dev": true,
 306 |       "requires": {
 307 |         "find-root": "^1.0.0",
 308 |         "glob": "^7.0.5",
 309 |         "ignore": "^3.0.9",
 310 |         "pkg-config": "^1.1.0",
 311 |         "run-parallel": "^1.1.2",
 312 |         "uniq": "^1.0.1"
 313 |       },
 314 |       "dependencies": {
 315 |         "ignore": {
 316 |           "version": "3.3.10",
 317 |           "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz",
 318 |           "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
 319 |           "dev": true
 320 |         }
 321 |       }
 322 |     },
 323 |     "doctrine": {
 324 |       "version": "2.1.0",
 325 |       "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
 326 |       "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
 327 |       "dev": true,
 328 |       "requires": {
 329 |         "esutils": "^2.0.2"
 330 |       }
 331 |     },
 332 |     "entities": {
 333 |       "version": "1.1.2",
 334 |       "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
 335 |       "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
 336 |       "dev": true
 337 |     },
 338 |     "error-ex": {
 339 |       "version": "1.3.2",
 340 |       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
 341 |       "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
 342 |       "dev": true,
 343 |       "requires": {
 344 |         "is-arrayish": "^0.2.1"
 345 |       }
 346 |     },
 347 |     "es-abstract": {
 348 |       "version": "1.14.2",
 349 |       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.14.2.tgz",
 350 |       "integrity": "sha512-DgoQmbpFNOofkjJtKwr87Ma5EW4Dc8fWhD0R+ndq7Oc456ivUfGOOP6oAZTTKl5/CcNMP+EN+e3/iUzgE0veZg==",
 351 |       "dev": true,
 352 |       "requires": {
 353 |         "es-to-primitive": "^1.2.0",
 354 |         "function-bind": "^1.1.1",
 355 |         "has": "^1.0.3",
 356 |         "has-symbols": "^1.0.0",
 357 |         "is-callable": "^1.1.4",
 358 |         "is-regex": "^1.0.4",
 359 |         "object-inspect": "^1.6.0",
 360 |         "object-keys": "^1.1.1",
 361 |         "string.prototype.trimleft": "^2.0.0",
 362 |         "string.prototype.trimright": "^2.0.0"
 363 |       }
 364 |     },
 365 |     "es-to-primitive": {
 366 |       "version": "1.2.0",
 367 |       "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
 368 |       "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
 369 |       "dev": true,
 370 |       "requires": {
 371 |         "is-callable": "^1.1.4",
 372 |         "is-date-object": "^1.0.1",
 373 |         "is-symbol": "^1.0.2"
 374 |       }
 375 |     },
 376 |     "escape-string-regexp": {
 377 |       "version": "2.0.0",
 378 |       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
 379 |       "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
 380 |       "dev": true
 381 |     },
 382 |     "eslint": {
 383 |       "version": "5.4.0",
 384 |       "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.4.0.tgz",
 385 |       "integrity": "sha512-UIpL91XGex3qtL6qwyCQJar2j3osKxK9e3ano3OcGEIRM4oWIpCkDg9x95AXEC2wMs7PnxzOkPZ2gq+tsMS9yg==",
 386 |       "dev": true,
 387 |       "requires": {
 388 |         "ajv": "^6.5.0",
 389 |         "babel-code-frame": "^6.26.0",
 390 |         "chalk": "^2.1.0",
 391 |         "cross-spawn": "^6.0.5",
 392 |         "debug": "^3.1.0",
 393 |         "doctrine": "^2.1.0",
 394 |         "eslint-scope": "^4.0.0",
 395 |         "eslint-utils": "^1.3.1",
 396 |         "eslint-visitor-keys": "^1.0.0",
 397 |         "espree": "^4.0.0",
 398 |         "esquery": "^1.0.1",
 399 |         "esutils": "^2.0.2",
 400 |         "file-entry-cache": "^2.0.0",
 401 |         "functional-red-black-tree": "^1.0.1",
 402 |         "glob": "^7.1.2",
 403 |         "globals": "^11.7.0",
 404 |         "ignore": "^4.0.2",
 405 |         "imurmurhash": "^0.1.4",
 406 |         "inquirer": "^5.2.0",
 407 |         "is-resolvable": "^1.1.0",
 408 |         "js-yaml": "^3.11.0",
 409 |         "json-stable-stringify-without-jsonify": "^1.0.1",
 410 |         "levn": "^0.3.0",
 411 |         "lodash": "^4.17.5",
 412 |         "minimatch": "^3.0.4",
 413 |         "mkdirp": "^0.5.1",
 414 |         "natural-compare": "^1.4.0",
 415 |         "optionator": "^0.8.2",
 416 |         "path-is-inside": "^1.0.2",
 417 |         "pluralize": "^7.0.0",
 418 |         "progress": "^2.0.0",
 419 |         "regexpp": "^2.0.0",
 420 |         "require-uncached": "^1.0.3",
 421 |         "semver": "^5.5.0",
 422 |         "strip-ansi": "^4.0.0",
 423 |         "strip-json-comments": "^2.0.1",
 424 |         "table": "^4.0.3",
 425 |         "text-table": "^0.2.0"
 426 |       },
 427 |       "dependencies": {
 428 |         "strip-json-comments": {
 429 |           "version": "2.0.1",
 430 |           "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
 431 |           "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
 432 |           "dev": true
 433 |         }
 434 |       }
 435 |     },
 436 |     "eslint-config-standard": {
 437 |       "version": "12.0.0",
 438 |       "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz",
 439 |       "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==",
 440 |       "dev": true
 441 |     },
 442 |     "eslint-config-standard-jsx": {
 443 |       "version": "6.0.2",
 444 |       "resolved": "https://registry.npmjs.org/eslint-config-standard-jsx/-/eslint-config-standard-jsx-6.0.2.tgz",
 445 |       "integrity": "sha512-D+YWAoXw+2GIdbMBRAzWwr1ZtvnSf4n4yL0gKGg7ShUOGXkSOLerI17K4F6LdQMJPNMoWYqepzQD/fKY+tXNSg==",
 446 |       "dev": true
 447 |     },
 448 |     "eslint-import-resolver-node": {
 449 |       "version": "0.3.2",
 450 |       "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz",
 451 |       "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==",
 452 |       "dev": true,
 453 |       "requires": {
 454 |         "debug": "^2.6.9",
 455 |         "resolve": "^1.5.0"
 456 |       },
 457 |       "dependencies": {
 458 |         "debug": {
 459 |           "version": "2.6.9",
 460 |           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 461 |           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 462 |           "dev": true,
 463 |           "requires": {
 464 |             "ms": "2.0.0"
 465 |           }
 466 |         },
 467 |         "ms": {
 468 |           "version": "2.0.0",
 469 |           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 470 |           "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 471 |           "dev": true
 472 |         }
 473 |       }
 474 |     },
 475 |     "eslint-module-utils": {
 476 |       "version": "2.4.1",
 477 |       "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz",
 478 |       "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==",
 479 |       "dev": true,
 480 |       "requires": {
 481 |         "debug": "^2.6.8",
 482 |         "pkg-dir": "^2.0.0"
 483 |       },
 484 |       "dependencies": {
 485 |         "debug": {
 486 |           "version": "2.6.9",
 487 |           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 488 |           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 489 |           "dev": true,
 490 |           "requires": {
 491 |             "ms": "2.0.0"
 492 |           }
 493 |         },
 494 |         "ms": {
 495 |           "version": "2.0.0",
 496 |           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 497 |           "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 498 |           "dev": true
 499 |         }
 500 |       }
 501 |     },
 502 |     "eslint-plugin-es": {
 503 |       "version": "1.4.1",
 504 |       "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz",
 505 |       "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==",
 506 |       "dev": true,
 507 |       "requires": {
 508 |         "eslint-utils": "^1.4.2",
 509 |         "regexpp": "^2.0.1"
 510 |       }
 511 |     },
 512 |     "eslint-plugin-import": {
 513 |       "version": "2.14.0",
 514 |       "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz",
 515 |       "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==",
 516 |       "dev": true,
 517 |       "requires": {
 518 |         "contains-path": "^0.1.0",
 519 |         "debug": "^2.6.8",
 520 |         "doctrine": "1.5.0",
 521 |         "eslint-import-resolver-node": "^0.3.1",
 522 |         "eslint-module-utils": "^2.2.0",
 523 |         "has": "^1.0.1",
 524 |         "lodash": "^4.17.4",
 525 |         "minimatch": "^3.0.3",
 526 |         "read-pkg-up": "^2.0.0",
 527 |         "resolve": "^1.6.0"
 528 |       },
 529 |       "dependencies": {
 530 |         "debug": {
 531 |           "version": "2.6.9",
 532 |           "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
 533 |           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
 534 |           "dev": true,
 535 |           "requires": {
 536 |             "ms": "2.0.0"
 537 |           }
 538 |         },
 539 |         "doctrine": {
 540 |           "version": "1.5.0",
 541 |           "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
 542 |           "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
 543 |           "dev": true,
 544 |           "requires": {
 545 |             "esutils": "^2.0.2",
 546 |             "isarray": "^1.0.0"
 547 |           }
 548 |         },
 549 |         "ms": {
 550 |           "version": "2.0.0",
 551 |           "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
 552 |           "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
 553 |           "dev": true
 554 |         }
 555 |       }
 556 |     },
 557 |     "eslint-plugin-node": {
 558 |       "version": "7.0.1",
 559 |       "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-7.0.1.tgz",
 560 |       "integrity": "sha512-lfVw3TEqThwq0j2Ba/Ckn2ABdwmL5dkOgAux1rvOk6CO7A6yGyPI2+zIxN6FyNkp1X1X/BSvKOceD6mBWSj4Yw==",
 561 |       "dev": true,
 562 |       "requires": {
 563 |         "eslint-plugin-es": "^1.3.1",
 564 |         "eslint-utils": "^1.3.1",
 565 |         "ignore": "^4.0.2",
 566 |         "minimatch": "^3.0.4",
 567 |         "resolve": "^1.8.1",
 568 |         "semver": "^5.5.0"
 569 |       }
 570 |     },
 571 |     "eslint-plugin-promise": {
 572 |       "version": "4.0.1",
 573 |       "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.0.1.tgz",
 574 |       "integrity": "sha512-Si16O0+Hqz1gDHsys6RtFRrW7cCTB6P7p3OJmKp3Y3dxpQE2qwOA7d3xnV+0mBmrPoi0RBnxlCKvqu70te6wjg==",
 575 |       "dev": true
 576 |     },
 577 |     "eslint-plugin-react": {
 578 |       "version": "7.11.1",
 579 |       "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.11.1.tgz",
 580 |       "integrity": "sha512-cVVyMadRyW7qsIUh3FHp3u6QHNhOgVrLQYdQEB1bPWBsgbNCHdFAeNMquBMCcZJu59eNthX053L70l7gRt4SCw==",
 581 |       "dev": true,
 582 |       "requires": {
 583 |         "array-includes": "^3.0.3",
 584 |         "doctrine": "^2.1.0",
 585 |         "has": "^1.0.3",
 586 |         "jsx-ast-utils": "^2.0.1",
 587 |         "prop-types": "^15.6.2"
 588 |       }
 589 |     },
 590 |     "eslint-plugin-standard": {
 591 |       "version": "4.0.1",
 592 |       "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.0.1.tgz",
 593 |       "integrity": "sha512-v/KBnfyaOMPmZc/dmc6ozOdWqekGp7bBGq4jLAecEfPGmfKiWS4sA8sC0LqiV9w5qmXAtXVn4M3p1jSyhY85SQ==",
 594 |       "dev": true
 595 |     },
 596 |     "eslint-scope": {
 597 |       "version": "4.0.3",
 598 |       "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
 599 |       "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
 600 |       "dev": true,
 601 |       "requires": {
 602 |         "esrecurse": "^4.1.0",
 603 |         "estraverse": "^4.1.1"
 604 |       }
 605 |     },
 606 |     "eslint-utils": {
 607 |       "version": "1.4.2",
 608 |       "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
 609 |       "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
 610 |       "dev": true,
 611 |       "requires": {
 612 |         "eslint-visitor-keys": "^1.0.0"
 613 |       }
 614 |     },
 615 |     "eslint-visitor-keys": {
 616 |       "version": "1.1.0",
 617 |       "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
 618 |       "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
 619 |       "dev": true
 620 |     },
 621 |     "espree": {
 622 |       "version": "4.1.0",
 623 |       "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
 624 |       "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
 625 |       "dev": true,
 626 |       "requires": {
 627 |         "acorn": "^6.0.2",
 628 |         "acorn-jsx": "^5.0.0",
 629 |         "eslint-visitor-keys": "^1.0.0"
 630 |       }
 631 |     },
 632 |     "esprima": {
 633 |       "version": "4.0.1",
 634 |       "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
 635 |       "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
 636 |       "dev": true
 637 |     },
 638 |     "esquery": {
 639 |       "version": "1.0.1",
 640 |       "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
 641 |       "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
 642 |       "dev": true,
 643 |       "requires": {
 644 |         "estraverse": "^4.0.0"
 645 |       }
 646 |     },
 647 |     "esrecurse": {
 648 |       "version": "4.2.1",
 649 |       "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz",
 650 |       "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==",
 651 |       "dev": true,
 652 |       "requires": {
 653 |         "estraverse": "^4.1.0"
 654 |       }
 655 |     },
 656 |     "estraverse": {
 657 |       "version": "4.3.0",
 658 |       "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
 659 |       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
 660 |       "dev": true
 661 |     },
 662 |     "esutils": {
 663 |       "version": "2.0.3",
 664 |       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 665 |       "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
 666 |       "dev": true
 667 |     },
 668 |     "external-editor": {
 669 |       "version": "2.2.0",
 670 |       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
 671 |       "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
 672 |       "dev": true,
 673 |       "requires": {
 674 |         "chardet": "^0.4.0",
 675 |         "iconv-lite": "^0.4.17",
 676 |         "tmp": "^0.0.33"
 677 |       }
 678 |     },
 679 |     "fast-deep-equal": {
 680 |       "version": "2.0.1",
 681 |       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
 682 |       "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
 683 |       "dev": true
 684 |     },
 685 |     "fast-json-stable-stringify": {
 686 |       "version": "2.0.0",
 687 |       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
 688 |       "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
 689 |       "dev": true
 690 |     },
 691 |     "fast-levenshtein": {
 692 |       "version": "2.0.6",
 693 |       "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
 694 |       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
 695 |       "dev": true
 696 |     },
 697 |     "figures": {
 698 |       "version": "2.0.0",
 699 |       "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
 700 |       "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
 701 |       "dev": true,
 702 |       "requires": {
 703 |         "escape-string-regexp": "^1.0.5"
 704 |       },
 705 |       "dependencies": {
 706 |         "escape-string-regexp": {
 707 |           "version": "1.0.5",
 708 |           "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 709 |           "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 710 |           "dev": true
 711 |         }
 712 |       }
 713 |     },
 714 |     "file-entry-cache": {
 715 |       "version": "2.0.0",
 716 |       "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
 717 |       "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
 718 |       "dev": true,
 719 |       "requires": {
 720 |         "flat-cache": "^1.2.1",
 721 |         "object-assign": "^4.0.1"
 722 |       }
 723 |     },
 724 |     "find-root": {
 725 |       "version": "1.1.0",
 726 |       "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
 727 |       "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
 728 |       "dev": true
 729 |     },
 730 |     "find-up": {
 731 |       "version": "2.1.0",
 732 |       "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
 733 |       "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
 734 |       "dev": true,
 735 |       "requires": {
 736 |         "locate-path": "^2.0.0"
 737 |       }
 738 |     },
 739 |     "flat-cache": {
 740 |       "version": "1.3.4",
 741 |       "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
 742 |       "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
 743 |       "dev": true,
 744 |       "requires": {
 745 |         "circular-json": "^0.3.1",
 746 |         "graceful-fs": "^4.1.2",
 747 |         "rimraf": "~2.6.2",
 748 |         "write": "^0.2.1"
 749 |       }
 750 |     },
 751 |     "fs.realpath": {
 752 |       "version": "1.0.0",
 753 |       "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
 754 |       "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
 755 |       "dev": true
 756 |     },
 757 |     "function-bind": {
 758 |       "version": "1.1.1",
 759 |       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
 760 |       "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
 761 |       "dev": true
 762 |     },
 763 |     "functional-red-black-tree": {
 764 |       "version": "1.0.1",
 765 |       "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
 766 |       "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
 767 |       "dev": true
 768 |     },
 769 |     "get-stdin": {
 770 |       "version": "6.0.0",
 771 |       "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
 772 |       "integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
 773 |       "dev": true
 774 |     },
 775 |     "glob": {
 776 |       "version": "7.1.4",
 777 |       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
 778 |       "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
 779 |       "dev": true,
 780 |       "requires": {
 781 |         "fs.realpath": "^1.0.0",
 782 |         "inflight": "^1.0.4",
 783 |         "inherits": "2",
 784 |         "minimatch": "^3.0.4",
 785 |         "once": "^1.3.0",
 786 |         "path-is-absolute": "^1.0.0"
 787 |       }
 788 |     },
 789 |     "globals": {
 790 |       "version": "11.12.0",
 791 |       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
 792 |       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
 793 |       "dev": true
 794 |     },
 795 |     "graceful-fs": {
 796 |       "version": "4.2.2",
 797 |       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
 798 |       "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
 799 |       "dev": true
 800 |     },
 801 |     "has": {
 802 |       "version": "1.0.3",
 803 |       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 804 |       "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
 805 |       "dev": true,
 806 |       "requires": {
 807 |         "function-bind": "^1.1.1"
 808 |       }
 809 |     },
 810 |     "has-ansi": {
 811 |       "version": "2.0.0",
 812 |       "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
 813 |       "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
 814 |       "dev": true,
 815 |       "requires": {
 816 |         "ansi-regex": "^2.0.0"
 817 |       }
 818 |     },
 819 |     "has-flag": {
 820 |       "version": "3.0.0",
 821 |       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
 822 |       "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
 823 |       "dev": true
 824 |     },
 825 |     "has-symbols": {
 826 |       "version": "1.0.0",
 827 |       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
 828 |       "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
 829 |       "dev": true
 830 |     },
 831 |     "hosted-git-info": {
 832 |       "version": "2.8.4",
 833 |       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
 834 |       "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
 835 |       "dev": true
 836 |     },
 837 |     "iconv-lite": {
 838 |       "version": "0.4.24",
 839 |       "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
 840 |       "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
 841 |       "dev": true,
 842 |       "requires": {
 843 |         "safer-buffer": ">= 2.1.2 < 3"
 844 |       }
 845 |     },
 846 |     "ignore": {
 847 |       "version": "4.0.6",
 848 |       "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
 849 |       "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
 850 |       "dev": true
 851 |     },
 852 |     "imurmurhash": {
 853 |       "version": "0.1.4",
 854 |       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
 855 |       "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
 856 |       "dev": true
 857 |     },
 858 |     "inflight": {
 859 |       "version": "1.0.6",
 860 |       "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
 861 |       "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
 862 |       "dev": true,
 863 |       "requires": {
 864 |         "once": "^1.3.0",
 865 |         "wrappy": "1"
 866 |       }
 867 |     },
 868 |     "inherits": {
 869 |       "version": "2.0.4",
 870 |       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
 871 |       "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
 872 |       "dev": true
 873 |     },
 874 |     "inquirer": {
 875 |       "version": "5.2.0",
 876 |       "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz",
 877 |       "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==",
 878 |       "dev": true,
 879 |       "requires": {
 880 |         "ansi-escapes": "^3.0.0",
 881 |         "chalk": "^2.0.0",
 882 |         "cli-cursor": "^2.1.0",
 883 |         "cli-width": "^2.0.0",
 884 |         "external-editor": "^2.1.0",
 885 |         "figures": "^2.0.0",
 886 |         "lodash": "^4.3.0",
 887 |         "mute-stream": "0.0.7",
 888 |         "run-async": "^2.2.0",
 889 |         "rxjs": "^5.5.2",
 890 |         "string-width": "^2.1.0",
 891 |         "strip-ansi": "^4.0.0",
 892 |         "through": "^2.3.6"
 893 |       }
 894 |     },
 895 |     "is-arrayish": {
 896 |       "version": "0.2.1",
 897 |       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
 898 |       "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
 899 |       "dev": true
 900 |     },
 901 |     "is-callable": {
 902 |       "version": "1.1.4",
 903 |       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
 904 |       "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
 905 |       "dev": true
 906 |     },
 907 |     "is-date-object": {
 908 |       "version": "1.0.1",
 909 |       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
 910 |       "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
 911 |       "dev": true
 912 |     },
 913 |     "is-fullwidth-code-point": {
 914 |       "version": "2.0.0",
 915 |       "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
 916 |       "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
 917 |       "dev": true
 918 |     },
 919 |     "is-promise": {
 920 |       "version": "2.1.0",
 921 |       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
 922 |       "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
 923 |       "dev": true
 924 |     },
 925 |     "is-regex": {
 926 |       "version": "1.0.4",
 927 |       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
 928 |       "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
 929 |       "dev": true,
 930 |       "requires": {
 931 |         "has": "^1.0.1"
 932 |       }
 933 |     },
 934 |     "is-resolvable": {
 935 |       "version": "1.1.0",
 936 |       "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
 937 |       "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
 938 |       "dev": true
 939 |     },
 940 |     "is-symbol": {
 941 |       "version": "1.0.2",
 942 |       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
 943 |       "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
 944 |       "dev": true,
 945 |       "requires": {
 946 |         "has-symbols": "^1.0.0"
 947 |       }
 948 |     },
 949 |     "isarray": {
 950 |       "version": "1.0.0",
 951 |       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
 952 |       "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
 953 |       "dev": true
 954 |     },
 955 |     "isexe": {
 956 |       "version": "2.0.0",
 957 |       "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
 958 |       "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
 959 |       "dev": true
 960 |     },
 961 |     "js-tokens": {
 962 |       "version": "3.0.2",
 963 |       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
 964 |       "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
 965 |       "dev": true
 966 |     },
 967 |     "js-yaml": {
 968 |       "version": "3.13.1",
 969 |       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
 970 |       "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
 971 |       "dev": true,
 972 |       "requires": {
 973 |         "argparse": "^1.0.7",
 974 |         "esprima": "^4.0.0"
 975 |       }
 976 |     },
 977 |     "js2xmlparser": {
 978 |       "version": "4.0.0",
 979 |       "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.0.tgz",
 980 |       "integrity": "sha512-WuNgdZOXVmBk5kUPMcTcVUpbGRzLfNkv7+7APq7WiDihpXVKrgxo6wwRpRl9OQeEBgKCVk9mR7RbzrnNWC8oBw==",
 981 |       "dev": true,
 982 |       "requires": {
 983 |         "xmlcreate": "^2.0.0"
 984 |       }
 985 |     },
 986 |     "jsdoc": {
 987 |       "version": "3.6.3",
 988 |       "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.3.tgz",
 989 |       "integrity": "sha512-Yf1ZKA3r9nvtMWHO1kEuMZTlHOF8uoQ0vyo5eH7SQy5YeIiHM+B0DgKnn+X6y6KDYZcF7G2SPkKF+JORCXWE/A==",
 990 |       "dev": true,
 991 |       "requires": {
 992 |         "@babel/parser": "^7.4.4",
 993 |         "bluebird": "^3.5.4",
 994 |         "catharsis": "^0.8.11",
 995 |         "escape-string-regexp": "^2.0.0",
 996 |         "js2xmlparser": "^4.0.0",
 997 |         "klaw": "^3.0.0",
 998 |         "markdown-it": "^8.4.2",
 999 |         "markdown-it-anchor": "^5.0.2",
1000 |         "marked": "^0.7.0",
1001 |         "mkdirp": "^0.5.1",
1002 |         "requizzle": "^0.2.3",
1003 |         "strip-json-comments": "^3.0.1",
1004 |         "taffydb": "2.6.2",
1005 |         "underscore": "~1.9.1"
1006 |       }
1007 |     },
1008 |     "jsdoc-oblivion": {
1009 |       "version": "0.0.3",
1010 |       "resolved": "https://registry.npmjs.org/jsdoc-oblivion/-/jsdoc-oblivion-0.0.3.tgz",
1011 |       "integrity": "sha1-LW9gOyRaccIfZy4DljZF4emGjMs=",
1012 |       "dev": true
1013 |     },
1014 |     "json-parse-better-errors": {
1015 |       "version": "1.0.2",
1016 |       "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
1017 |       "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
1018 |       "dev": true
1019 |     },
1020 |     "json-schema-traverse": {
1021 |       "version": "0.4.1",
1022 |       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1023 |       "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1024 |       "dev": true
1025 |     },
1026 |     "json-stable-stringify-without-jsonify": {
1027 |       "version": "1.0.1",
1028 |       "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1029 |       "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
1030 |       "dev": true
1031 |     },
1032 |     "jsx-ast-utils": {
1033 |       "version": "2.2.1",
1034 |       "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.2.1.tgz",
1035 |       "integrity": "sha512-v3FxCcAf20DayI+uxnCuw795+oOIkVu6EnJ1+kSzhqqTZHNkTZ7B66ZgLp4oLJ/gbA64cI0B7WRoHZMSRdyVRQ==",
1036 |       "dev": true,
1037 |       "requires": {
1038 |         "array-includes": "^3.0.3",
1039 |         "object.assign": "^4.1.0"
1040 |       }
1041 |     },
1042 |     "klaw": {
1043 |       "version": "3.0.0",
1044 |       "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz",
1045 |       "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==",
1046 |       "dev": true,
1047 |       "requires": {
1048 |         "graceful-fs": "^4.1.9"
1049 |       }
1050 |     },
1051 |     "levn": {
1052 |       "version": "0.3.0",
1053 |       "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
1054 |       "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
1055 |       "dev": true,
1056 |       "requires": {
1057 |         "prelude-ls": "~1.1.2",
1058 |         "type-check": "~0.3.2"
1059 |       }
1060 |     },
1061 |     "linkify-it": {
1062 |       "version": "2.2.0",
1063 |       "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
1064 |       "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
1065 |       "dev": true,
1066 |       "requires": {
1067 |         "uc.micro": "^1.0.1"
1068 |       }
1069 |     },
1070 |     "load-json-file": {
1071 |       "version": "2.0.0",
1072 |       "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
1073 |       "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=",
1074 |       "dev": true,
1075 |       "requires": {
1076 |         "graceful-fs": "^4.1.2",
1077 |         "parse-json": "^2.2.0",
1078 |         "pify": "^2.0.0",
1079 |         "strip-bom": "^3.0.0"
1080 |       }
1081 |     },
1082 |     "locate-path": {
1083 |       "version": "2.0.0",
1084 |       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
1085 |       "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
1086 |       "dev": true,
1087 |       "requires": {
1088 |         "p-locate": "^2.0.0",
1089 |         "path-exists": "^3.0.0"
1090 |       }
1091 |     },
1092 |     "lodash": {
1093 |       "version": "4.17.15",
1094 |       "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
1095 |       "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
1096 |       "dev": true
1097 |     },
1098 |     "loose-envify": {
1099 |       "version": "1.4.0",
1100 |       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
1101 |       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
1102 |       "dev": true,
1103 |       "requires": {
1104 |         "js-tokens": "^3.0.0 || ^4.0.0"
1105 |       }
1106 |     },
1107 |     "markdown-it": {
1108 |       "version": "8.4.2",
1109 |       "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
1110 |       "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
1111 |       "dev": true,
1112 |       "requires": {
1113 |         "argparse": "^1.0.7",
1114 |         "entities": "~1.1.1",
1115 |         "linkify-it": "^2.0.0",
1116 |         "mdurl": "^1.0.1",
1117 |         "uc.micro": "^1.0.5"
1118 |       }
1119 |     },
1120 |     "markdown-it-anchor": {
1121 |       "version": "5.2.4",
1122 |       "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-5.2.4.tgz",
1123 |       "integrity": "sha512-n8zCGjxA3T+Mx1pG8HEgbJbkB8JFUuRkeTZQuIM8iPY6oQ8sWOPRZJDFC9a/pNg2QkHEjjGkhBEl/RSyzaDZ3A==",
1124 |       "dev": true
1125 |     },
1126 |     "marked": {
1127 |       "version": "0.7.0",
1128 |       "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
1129 |       "integrity": "sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==",
1130 |       "dev": true
1131 |     },
1132 |     "mdurl": {
1133 |       "version": "1.0.1",
1134 |       "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
1135 |       "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
1136 |       "dev": true
1137 |     },
1138 |     "mimic-fn": {
1139 |       "version": "1.2.0",
1140 |       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
1141 |       "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
1142 |       "dev": true
1143 |     },
1144 |     "minimatch": {
1145 |       "version": "3.0.4",
1146 |       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1147 |       "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1148 |       "dev": true,
1149 |       "requires": {
1150 |         "brace-expansion": "^1.1.7"
1151 |       }
1152 |     },
1153 |     "minimist": {
1154 |       "version": "0.0.8",
1155 |       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
1156 |       "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
1157 |       "dev": true
1158 |     },
1159 |     "mkdirp": {
1160 |       "version": "0.5.1",
1161 |       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
1162 |       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
1163 |       "dev": true,
1164 |       "requires": {
1165 |         "minimist": "0.0.8"
1166 |       }
1167 |     },
1168 |     "ms": {
1169 |       "version": "2.1.2",
1170 |       "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1171 |       "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1172 |       "dev": true
1173 |     },
1174 |     "mute-stream": {
1175 |       "version": "0.0.7",
1176 |       "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
1177 |       "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
1178 |       "dev": true
1179 |     },
1180 |     "natural-compare": {
1181 |       "version": "1.4.0",
1182 |       "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1183 |       "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
1184 |       "dev": true
1185 |     },
1186 |     "nice-try": {
1187 |       "version": "1.0.5",
1188 |       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
1189 |       "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
1190 |       "dev": true
1191 |     },
1192 |     "normalize-package-data": {
1193 |       "version": "2.5.0",
1194 |       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
1195 |       "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
1196 |       "dev": true,
1197 |       "requires": {
1198 |         "hosted-git-info": "^2.1.4",
1199 |         "resolve": "^1.10.0",
1200 |         "semver": "2 || 3 || 4 || 5",
1201 |         "validate-npm-package-license": "^3.0.1"
1202 |       }
1203 |     },
1204 |     "object-assign": {
1205 |       "version": "4.1.1",
1206 |       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1207 |       "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
1208 |       "dev": true
1209 |     },
1210 |     "object-inspect": {
1211 |       "version": "1.6.0",
1212 |       "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
1213 |       "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
1214 |       "dev": true
1215 |     },
1216 |     "object-keys": {
1217 |       "version": "1.1.1",
1218 |       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
1219 |       "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
1220 |       "dev": true
1221 |     },
1222 |     "object.assign": {
1223 |       "version": "4.1.0",
1224 |       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
1225 |       "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
1226 |       "dev": true,
1227 |       "requires": {
1228 |         "define-properties": "^1.1.2",
1229 |         "function-bind": "^1.1.1",
1230 |         "has-symbols": "^1.0.0",
1231 |         "object-keys": "^1.0.11"
1232 |       }
1233 |     },
1234 |     "once": {
1235 |       "version": "1.4.0",
1236 |       "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1237 |       "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1238 |       "dev": true,
1239 |       "requires": {
1240 |         "wrappy": "1"
1241 |       }
1242 |     },
1243 |     "onetime": {
1244 |       "version": "2.0.1",
1245 |       "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
1246 |       "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
1247 |       "dev": true,
1248 |       "requires": {
1249 |         "mimic-fn": "^1.0.0"
1250 |       }
1251 |     },
1252 |     "optionator": {
1253 |       "version": "0.8.2",
1254 |       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
1255 |       "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
1256 |       "dev": true,
1257 |       "requires": {
1258 |         "deep-is": "~0.1.3",
1259 |         "fast-levenshtein": "~2.0.4",
1260 |         "levn": "~0.3.0",
1261 |         "prelude-ls": "~1.1.2",
1262 |         "type-check": "~0.3.2",
1263 |         "wordwrap": "~1.0.0"
1264 |       }
1265 |     },
1266 |     "os-tmpdir": {
1267 |       "version": "1.0.2",
1268 |       "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1269 |       "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1270 |       "dev": true
1271 |     },
1272 |     "p-limit": {
1273 |       "version": "1.3.0",
1274 |       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
1275 |       "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
1276 |       "dev": true,
1277 |       "requires": {
1278 |         "p-try": "^1.0.0"
1279 |       }
1280 |     },
1281 |     "p-locate": {
1282 |       "version": "2.0.0",
1283 |       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
1284 |       "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
1285 |       "dev": true,
1286 |       "requires": {
1287 |         "p-limit": "^1.1.0"
1288 |       }
1289 |     },
1290 |     "p-try": {
1291 |       "version": "1.0.0",
1292 |       "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
1293 |       "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
1294 |       "dev": true
1295 |     },
1296 |     "parse-json": {
1297 |       "version": "2.2.0",
1298 |       "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
1299 |       "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
1300 |       "dev": true,
1301 |       "requires": {
1302 |         "error-ex": "^1.2.0"
1303 |       }
1304 |     },
1305 |     "path-exists": {
1306 |       "version": "3.0.0",
1307 |       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
1308 |       "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
1309 |       "dev": true
1310 |     },
1311 |     "path-is-absolute": {
1312 |       "version": "1.0.1",
1313 |       "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1314 |       "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1315 |       "dev": true
1316 |     },
1317 |     "path-is-inside": {
1318 |       "version": "1.0.2",
1319 |       "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
1320 |       "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
1321 |       "dev": true
1322 |     },
1323 |     "path-key": {
1324 |       "version": "2.0.1",
1325 |       "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
1326 |       "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
1327 |       "dev": true
1328 |     },
1329 |     "path-parse": {
1330 |       "version": "1.0.6",
1331 |       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1332 |       "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1333 |       "dev": true
1334 |     },
1335 |     "path-type": {
1336 |       "version": "2.0.0",
1337 |       "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz",
1338 |       "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=",
1339 |       "dev": true,
1340 |       "requires": {
1341 |         "pify": "^2.0.0"
1342 |       }
1343 |     },
1344 |     "pify": {
1345 |       "version": "2.3.0",
1346 |       "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
1347 |       "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
1348 |       "dev": true
1349 |     },
1350 |     "pkg-conf": {
1351 |       "version": "2.1.0",
1352 |       "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz",
1353 |       "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=",
1354 |       "dev": true,
1355 |       "requires": {
1356 |         "find-up": "^2.0.0",
1357 |         "load-json-file": "^4.0.0"
1358 |       },
1359 |       "dependencies": {
1360 |         "load-json-file": {
1361 |           "version": "4.0.0",
1362 |           "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
1363 |           "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
1364 |           "dev": true,
1365 |           "requires": {
1366 |             "graceful-fs": "^4.1.2",
1367 |             "parse-json": "^4.0.0",
1368 |             "pify": "^3.0.0",
1369 |             "strip-bom": "^3.0.0"
1370 |           }
1371 |         },
1372 |         "parse-json": {
1373 |           "version": "4.0.0",
1374 |           "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
1375 |           "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
1376 |           "dev": true,
1377 |           "requires": {
1378 |             "error-ex": "^1.3.1",
1379 |             "json-parse-better-errors": "^1.0.1"
1380 |           }
1381 |         },
1382 |         "pify": {
1383 |           "version": "3.0.0",
1384 |           "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
1385 |           "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
1386 |           "dev": true
1387 |         }
1388 |       }
1389 |     },
1390 |     "pkg-config": {
1391 |       "version": "1.1.1",
1392 |       "resolved": "https://registry.npmjs.org/pkg-config/-/pkg-config-1.1.1.tgz",
1393 |       "integrity": "sha1-VX7yLXPaPIg3EHdmxS6tq94pj+Q=",
1394 |       "dev": true,
1395 |       "requires": {
1396 |         "debug-log": "^1.0.0",
1397 |         "find-root": "^1.0.0",
1398 |         "xtend": "^4.0.1"
1399 |       }
1400 |     },
1401 |     "pkg-dir": {
1402 |       "version": "2.0.0",
1403 |       "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz",
1404 |       "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=",
1405 |       "dev": true,
1406 |       "requires": {
1407 |         "find-up": "^2.1.0"
1408 |       }
1409 |     },
1410 |     "pluralize": {
1411 |       "version": "7.0.0",
1412 |       "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz",
1413 |       "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==",
1414 |       "dev": true
1415 |     },
1416 |     "prelude-ls": {
1417 |       "version": "1.1.2",
1418 |       "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
1419 |       "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
1420 |       "dev": true
1421 |     },
1422 |     "progress": {
1423 |       "version": "2.0.3",
1424 |       "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
1425 |       "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
1426 |       "dev": true
1427 |     },
1428 |     "prop-types": {
1429 |       "version": "15.7.2",
1430 |       "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
1431 |       "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
1432 |       "dev": true,
1433 |       "requires": {
1434 |         "loose-envify": "^1.4.0",
1435 |         "object-assign": "^4.1.1",
1436 |         "react-is": "^16.8.1"
1437 |       }
1438 |     },
1439 |     "punycode": {
1440 |       "version": "2.1.1",
1441 |       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1442 |       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1443 |       "dev": true
1444 |     },
1445 |     "react-is": {
1446 |       "version": "16.9.0",
1447 |       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.9.0.tgz",
1448 |       "integrity": "sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw==",
1449 |       "dev": true
1450 |     },
1451 |     "read-pkg": {
1452 |       "version": "2.0.0",
1453 |       "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz",
1454 |       "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=",
1455 |       "dev": true,
1456 |       "requires": {
1457 |         "load-json-file": "^2.0.0",
1458 |         "normalize-package-data": "^2.3.2",
1459 |         "path-type": "^2.0.0"
1460 |       }
1461 |     },
1462 |     "read-pkg-up": {
1463 |       "version": "2.0.0",
1464 |       "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz",
1465 |       "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=",
1466 |       "dev": true,
1467 |       "requires": {
1468 |         "find-up": "^2.0.0",
1469 |         "read-pkg": "^2.0.0"
1470 |       }
1471 |     },
1472 |     "regexpp": {
1473 |       "version": "2.0.1",
1474 |       "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
1475 |       "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
1476 |       "dev": true
1477 |     },
1478 |     "require-uncached": {
1479 |       "version": "1.0.3",
1480 |       "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz",
1481 |       "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=",
1482 |       "dev": true,
1483 |       "requires": {
1484 |         "caller-path": "^0.1.0",
1485 |         "resolve-from": "^1.0.0"
1486 |       }
1487 |     },
1488 |     "requizzle": {
1489 |       "version": "0.2.3",
1490 |       "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.3.tgz",
1491 |       "integrity": "sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==",
1492 |       "dev": true,
1493 |       "requires": {
1494 |         "lodash": "^4.17.14"
1495 |       }
1496 |     },
1497 |     "resolve": {
1498 |       "version": "1.12.0",
1499 |       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
1500 |       "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
1501 |       "dev": true,
1502 |       "requires": {
1503 |         "path-parse": "^1.0.6"
1504 |       }
1505 |     },
1506 |     "resolve-from": {
1507 |       "version": "1.0.1",
1508 |       "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
1509 |       "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
1510 |       "dev": true
1511 |     },
1512 |     "restore-cursor": {
1513 |       "version": "2.0.0",
1514 |       "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1515 |       "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1516 |       "dev": true,
1517 |       "requires": {
1518 |         "onetime": "^2.0.0",
1519 |         "signal-exit": "^3.0.2"
1520 |       }
1521 |     },
1522 |     "rimraf": {
1523 |       "version": "2.6.3",
1524 |       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
1525 |       "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
1526 |       "dev": true,
1527 |       "requires": {
1528 |         "glob": "^7.1.3"
1529 |       }
1530 |     },
1531 |     "run-async": {
1532 |       "version": "2.3.0",
1533 |       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
1534 |       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
1535 |       "dev": true,
1536 |       "requires": {
1537 |         "is-promise": "^2.1.0"
1538 |       }
1539 |     },
1540 |     "run-parallel": {
1541 |       "version": "1.1.9",
1542 |       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
1543 |       "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
1544 |       "dev": true
1545 |     },
1546 |     "rxjs": {
1547 |       "version": "5.5.12",
1548 |       "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.12.tgz",
1549 |       "integrity": "sha512-xx2itnL5sBbqeeiVgNPVuQQ1nC8Jp2WfNJhXWHmElW9YmrpS9UVnNzhP3EH3HFqexO5Tlp8GhYY+WEcqcVMvGw==",
1550 |       "dev": true,
1551 |       "requires": {
1552 |         "symbol-observable": "1.0.1"
1553 |       }
1554 |     },
1555 |     "safer-buffer": {
1556 |       "version": "2.1.2",
1557 |       "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1558 |       "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1559 |       "dev": true
1560 |     },
1561 |     "semver": {
1562 |       "version": "5.7.1",
1563 |       "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1564 |       "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1565 |       "dev": true
1566 |     },
1567 |     "shebang-command": {
1568 |       "version": "1.2.0",
1569 |       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
1570 |       "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
1571 |       "dev": true,
1572 |       "requires": {
1573 |         "shebang-regex": "^1.0.0"
1574 |       }
1575 |     },
1576 |     "shebang-regex": {
1577 |       "version": "1.0.0",
1578 |       "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
1579 |       "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
1580 |       "dev": true
1581 |     },
1582 |     "signal-exit": {
1583 |       "version": "3.0.2",
1584 |       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1585 |       "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
1586 |       "dev": true
1587 |     },
1588 |     "slice-ansi": {
1589 |       "version": "1.0.0",
1590 |       "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
1591 |       "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
1592 |       "dev": true,
1593 |       "requires": {
1594 |         "is-fullwidth-code-point": "^2.0.0"
1595 |       }
1596 |     },
1597 |     "spdx-correct": {
1598 |       "version": "3.1.0",
1599 |       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
1600 |       "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
1601 |       "dev": true,
1602 |       "requires": {
1603 |         "spdx-expression-parse": "^3.0.0",
1604 |         "spdx-license-ids": "^3.0.0"
1605 |       }
1606 |     },
1607 |     "spdx-exceptions": {
1608 |       "version": "2.2.0",
1609 |       "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
1610 |       "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
1611 |       "dev": true
1612 |     },
1613 |     "spdx-expression-parse": {
1614 |       "version": "3.0.0",
1615 |       "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
1616 |       "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
1617 |       "dev": true,
1618 |       "requires": {
1619 |         "spdx-exceptions": "^2.1.0",
1620 |         "spdx-license-ids": "^3.0.0"
1621 |       }
1622 |     },
1623 |     "spdx-license-ids": {
1624 |       "version": "3.0.5",
1625 |       "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
1626 |       "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
1627 |       "dev": true
1628 |     },
1629 |     "sprintf-js": {
1630 |       "version": "1.0.3",
1631 |       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1632 |       "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1633 |       "dev": true
1634 |     },
1635 |     "standard": {
1636 |       "version": "12.0.1",
1637 |       "resolved": "https://registry.npmjs.org/standard/-/standard-12.0.1.tgz",
1638 |       "integrity": "sha512-UqdHjh87OG2gUrNCSM4QRLF5n9h3TFPwrCNyVlkqu31Hej0L/rc8hzKqVvkb2W3x0WMq7PzZdkLfEcBhVOR6lg==",
1639 |       "dev": true,
1640 |       "requires": {
1641 |         "eslint": "~5.4.0",
1642 |         "eslint-config-standard": "12.0.0",
1643 |         "eslint-config-standard-jsx": "6.0.2",
1644 |         "eslint-plugin-import": "~2.14.0",
1645 |         "eslint-plugin-node": "~7.0.1",
1646 |         "eslint-plugin-promise": "~4.0.0",
1647 |         "eslint-plugin-react": "~7.11.1",
1648 |         "eslint-plugin-standard": "~4.0.0",
1649 |         "standard-engine": "~9.0.0"
1650 |       }
1651 |     },
1652 |     "standard-engine": {
1653 |       "version": "9.0.0",
1654 |       "resolved": "https://registry.npmjs.org/standard-engine/-/standard-engine-9.0.0.tgz",
1655 |       "integrity": "sha512-ZfNfCWZ2Xq67VNvKMPiVMKHnMdvxYzvZkf1AH8/cw2NLDBm5LRsxMqvEJpsjLI/dUosZ3Z1d6JlHDp5rAvvk2w==",
1656 |       "dev": true,
1657 |       "requires": {
1658 |         "deglob": "^2.1.0",
1659 |         "get-stdin": "^6.0.0",
1660 |         "minimist": "^1.1.0",
1661 |         "pkg-conf": "^2.0.0"
1662 |       },
1663 |       "dependencies": {
1664 |         "minimist": {
1665 |           "version": "1.2.0",
1666 |           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
1667 |           "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
1668 |           "dev": true
1669 |         }
1670 |       }
1671 |     },
1672 |     "string-width": {
1673 |       "version": "2.1.1",
1674 |       "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
1675 |       "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
1676 |       "dev": true,
1677 |       "requires": {
1678 |         "is-fullwidth-code-point": "^2.0.0",
1679 |         "strip-ansi": "^4.0.0"
1680 |       }
1681 |     },
1682 |     "string.prototype.trimleft": {
1683 |       "version": "2.1.0",
1684 |       "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
1685 |       "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
1686 |       "dev": true,
1687 |       "requires": {
1688 |         "define-properties": "^1.1.3",
1689 |         "function-bind": "^1.1.1"
1690 |       }
1691 |     },
1692 |     "string.prototype.trimright": {
1693 |       "version": "2.1.0",
1694 |       "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
1695 |       "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
1696 |       "dev": true,
1697 |       "requires": {
1698 |         "define-properties": "^1.1.3",
1699 |         "function-bind": "^1.1.1"
1700 |       }
1701 |     },
1702 |     "strip-ansi": {
1703 |       "version": "4.0.0",
1704 |       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
1705 |       "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
1706 |       "dev": true,
1707 |       "requires": {
1708 |         "ansi-regex": "^3.0.0"
1709 |       },
1710 |       "dependencies": {
1711 |         "ansi-regex": {
1712 |           "version": "3.0.0",
1713 |           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
1714 |           "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
1715 |           "dev": true
1716 |         }
1717 |       }
1718 |     },
1719 |     "strip-bom": {
1720 |       "version": "3.0.0",
1721 |       "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
1722 |       "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
1723 |       "dev": true
1724 |     },
1725 |     "strip-json-comments": {
1726 |       "version": "3.0.1",
1727 |       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
1728 |       "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
1729 |       "dev": true
1730 |     },
1731 |     "supports-color": {
1732 |       "version": "2.0.0",
1733 |       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1734 |       "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1735 |       "dev": true
1736 |     },
1737 |     "symbol-observable": {
1738 |       "version": "1.0.1",
1739 |       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz",
1740 |       "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=",
1741 |       "dev": true
1742 |     },
1743 |     "table": {
1744 |       "version": "4.0.3",
1745 |       "resolved": "https://registry.npmjs.org/table/-/table-4.0.3.tgz",
1746 |       "integrity": "sha512-S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==",
1747 |       "dev": true,
1748 |       "requires": {
1749 |         "ajv": "^6.0.1",
1750 |         "ajv-keywords": "^3.0.0",
1751 |         "chalk": "^2.1.0",
1752 |         "lodash": "^4.17.4",
1753 |         "slice-ansi": "1.0.0",
1754 |         "string-width": "^2.1.1"
1755 |       }
1756 |     },
1757 |     "taffydb": {
1758 |       "version": "2.6.2",
1759 |       "resolved": "https://registry.npmjs.org/taffydb/-/taffydb-2.6.2.tgz",
1760 |       "integrity": "sha1-fLy2S1oUG2ou/CxdLGe04VCyomg=",
1761 |       "dev": true
1762 |     },
1763 |     "text-table": {
1764 |       "version": "0.2.0",
1765 |       "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1766 |       "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
1767 |       "dev": true
1768 |     },
1769 |     "through": {
1770 |       "version": "2.3.8",
1771 |       "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
1772 |       "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
1773 |       "dev": true
1774 |     },
1775 |     "tmp": {
1776 |       "version": "0.0.33",
1777 |       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
1778 |       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
1779 |       "dev": true,
1780 |       "requires": {
1781 |         "os-tmpdir": "~1.0.2"
1782 |       }
1783 |     },
1784 |     "type-check": {
1785 |       "version": "0.3.2",
1786 |       "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
1787 |       "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
1788 |       "dev": true,
1789 |       "requires": {
1790 |         "prelude-ls": "~1.1.2"
1791 |       }
1792 |     },
1793 |     "uc.micro": {
1794 |       "version": "1.0.6",
1795 |       "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
1796 |       "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
1797 |       "dev": true
1798 |     },
1799 |     "underscore": {
1800 |       "version": "1.9.1",
1801 |       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
1802 |       "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==",
1803 |       "dev": true
1804 |     },
1805 |     "uniq": {
1806 |       "version": "1.0.1",
1807 |       "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
1808 |       "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
1809 |       "dev": true
1810 |     },
1811 |     "uri-js": {
1812 |       "version": "4.2.2",
1813 |       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1814 |       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1815 |       "dev": true,
1816 |       "requires": {
1817 |         "punycode": "^2.1.0"
1818 |       }
1819 |     },
1820 |     "validate-npm-package-license": {
1821 |       "version": "3.0.4",
1822 |       "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
1823 |       "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
1824 |       "dev": true,
1825 |       "requires": {
1826 |         "spdx-correct": "^3.0.0",
1827 |         "spdx-expression-parse": "^3.0.0"
1828 |       }
1829 |     },
1830 |     "which": {
1831 |       "version": "1.3.1",
1832 |       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
1833 |       "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
1834 |       "dev": true,
1835 |       "requires": {
1836 |         "isexe": "^2.0.0"
1837 |       }
1838 |     },
1839 |     "wordwrap": {
1840 |       "version": "1.0.0",
1841 |       "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
1842 |       "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
1843 |       "dev": true
1844 |     },
1845 |     "wrappy": {
1846 |       "version": "1.0.2",
1847 |       "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1848 |       "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1849 |       "dev": true
1850 |     },
1851 |     "write": {
1852 |       "version": "0.2.1",
1853 |       "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
1854 |       "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
1855 |       "dev": true,
1856 |       "requires": {
1857 |         "mkdirp": "^0.5.1"
1858 |       }
1859 |     },
1860 |     "xmlcreate": {
1861 |       "version": "2.0.1",
1862 |       "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.1.tgz",
1863 |       "integrity": "sha512-MjGsXhKG8YjTKrDCXseFo3ClbMGvUD4en29H2Cev1dv4P/chlpw6KdYmlCWDkhosBVKRDjM836+3e3pm1cBNJA==",
1864 |       "dev": true
1865 |     },
1866 |     "xtend": {
1867 |       "version": "4.0.2",
1868 |       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1869 |       "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1870 |       "dev": true
1871 |     }
1872 |   }
1873 | }
1874 | 


--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
 1 | {
 2 |   "name": "inview",
 3 |   "version": "0.0.15",
 4 |   "description": "Detect when element scrolled to view ",
 5 |   "main": "inview.js",
 6 |   "devDependencies": {
 7 |     "jsdoc": "^3.3.0-alpha9",
 8 |     "jsdoc-oblivion": "^0.0.3",
 9 |     "standard": "^12.0.1"
10 |   },
11 |   "scripts": {
12 |     "test": "echo 'TODO'",
13 |     "lint": "standard --fix inview.js",
14 |     "docs": "jsdoc -c config/conf.json -d docs/ -t node_modules/jsdoc-oblivion/template/ inview.js README.md"
15 |   },
16 |   "repository": {
17 |     "type": "git",
18 |     "url": "https://github.com/miguelmota/inview.git"
19 |   },
20 |   "keywords": [
21 |     "inview"
22 |   ],
23 |   "author": {
24 |     "name": "Miguel Mota",
25 |     "email": "hello@miguelmota.com",
26 |     "url": "https://miguelmota.com"
27 |   },
28 |   "license": {
29 |     "type": "MIT",
30 |     "url": "https://github.com/miguelmota/inview/blob/master/LICENSE"
31 |   },
32 |   "bugs": {
33 |     "url": "https://github.com/miguelmota/inview/issues"
34 |   },
35 |   "homepage": "https://github.com/miguelmota/inview"
36 | }
37 | 


--------------------------------------------------------------------------------