Julien Chaumond commited on
Commit
5b4fd78
·
0 Parent(s):

Checkpoint 1

Browse files
.gitignore ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ logs
2
+ *.log
3
+ npm-debug.log*
4
+
5
+ node_modules
6
+ bower_components
7
+ typings
8
+ /dist
.vscode/tasks.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
3
+ // for the documentation about the tasks.json format
4
+ "version": "0.1.0",
5
+ "command": "tsc",
6
+ "isShellCommand": true,
7
+ "args": ["-w", "-p", "."],
8
+ "showOutput": "silent",
9
+ "isBackground": true,
10
+ "problemMatcher": "$tsc-watch"
11
+ }
Gruntfile.js ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ module.exports = function(grunt) {
2
+
3
+ grunt.loadNpmTasks('grunt-contrib-less');
4
+ grunt.loadNpmTasks('grunt-contrib-watch');
5
+ grunt.loadNpmTasks('grunt-contrib-connect');
6
+
7
+ grunt.registerTask('default', ['less']);
8
+
9
+ grunt.initConfig({
10
+ less: {
11
+ options: {
12
+ compress: true
13
+ },
14
+ dist: {
15
+ src: "less/*.less",
16
+ dest: "dist/style.css"
17
+ }
18
+ },
19
+ watch: {
20
+ options: {
21
+ livereload: true
22
+ },
23
+ files: ["index.html", "less/*", "dist/*.js"],
24
+ tasks: 'default'
25
+ },
26
+ connect: {
27
+ server: {
28
+ options: {
29
+ keepalive: true,
30
+ open: true,
31
+ debug: true,
32
+ }
33
+ }
34
+ }
35
+ });
36
+ };
assets/icons.svg ADDED
bower.json ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "coref-viz",
3
+ "authors": [
4
+ "Julien Chaumond <chaumond@gmail.com>"
5
+ ],
6
+ "description": "",
7
+ "main": "",
8
+ "license": "MIT",
9
+ "homepage": "",
10
+ "private": true,
11
+ "ignore": [
12
+ "**/.*",
13
+ "node_modules",
14
+ "bower_components",
15
+ "test",
16
+ "tests"
17
+ ],
18
+ "dependencies": {
19
+ "normalize.less": "^1.0.0"
20
+ }
21
+ }
index.html ADDED
@@ -0,0 +1,60 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Neural Coreference – Hugging Face</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
7
+ <link rel="stylesheet" href="/dist/style.css">
8
+ </head>
9
+ <body>
10
+ <div class="header">
11
+ <div class="input-wrapper">
12
+ <form class="js-form">
13
+ <div class="wrapper-inner">
14
+ <div class="input-message-wrapper">
15
+ <input class="input-message" type="text" name="text" placeholder="Your sentence here..." autocomplete="off" autofocus>
16
+ </div>
17
+ <button class="input-button c-input__button">
18
+ <svg aria-hidden="true" viewBox="0 0 20 20" width="20" height="20" fill="currentColor" class="o-icon c-input__button__icon">
19
+ <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="assets/icons.svg#icon-search"></use>
20
+ </svg>
21
+ <svg aria-hidden="true" viewBox="0 0 20 20" width="20" height="20" fill="currentColor" class="o-icon c-input__button__spinner">
22
+ <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="assets/icons.svg#icon-spinner"></use>
23
+ </svg>
24
+ </button>
25
+ </div>
26
+ </form>
27
+ </div>
28
+ <!--<a role="button" aria-label="Download" data-tooltip="Download" class="c-input" id="download" download="displacy.svg">
29
+ <svg aria-hidden="true" viewBox="0 0 20 20" width="20" height="20" fill="currentColor" class="o-icon c-input__button">
30
+ <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="assets/img/icons.svg#icon-download"></use>
31
+ </svg>
32
+ </a>-->
33
+ </div>
34
+
35
+ <div class="result">
36
+ displaCy uses JavaScript, SVG and CSS to show you how computers understand language
37
+
38
+ <br>
39
+ <br>
40
+ <br>
41
+ <br>
42
+
43
+ <div class="displacy-google">'<mark data-entity="work_of_art">Lawrence of Arabia</mark>' is a highly rated <mark data-entity="work_of_art">film biography</mark> about <mark data-entity="location">British</mark> <mark data-entity="person">Lieutenant</mark> <mark data-entity="person">T. E. Lawrence</mark>. <mark data-entity="person">Peter O'Toole</mark> plays <mark data-entity="person">Lawrence</mark> in the <mark data-entity="work_of_art">film</mark>.</div>
44
+ </div>
45
+
46
+ <script src="/dist/script.js"></script>
47
+ <script>
48
+ (function() {
49
+ if (window.location.hostname === 'localhost') {
50
+ var s = document.createElement('script');
51
+ s.setAttribute('src', '//localhost:35729/livereload.js');
52
+ document.body.appendChild(s);
53
+ }
54
+ })();
55
+ </script>
56
+ <script>
57
+ // Google Analytics was here.
58
+ </script>
59
+ </body>
60
+ </html>
js-src/coref.ts ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ declare type MentionType= "PRONOMINAL" | "NOMINAL" | "PROPER" | "LIST";
2
+
3
+ declare interface Mention {
4
+ index: number;
5
+ start: number;
6
+ end: number;
7
+ utterance: number;
8
+ type: MentionType;
9
+ text: string;
10
+ }
11
+
12
+ declare interface Coreference {
13
+ original: string;
14
+ resolved: string;
15
+ }
16
+
17
+ declare interface Response {
18
+ cleanedText: string;
19
+ corefResText: string;
20
+ coreferences: Coreference[];
21
+ mentions: Mention[];
22
+ singleScores: { [id: number]: number | null }; /// Is this mention likely to be a single mention (w/o any corefs). `id` is a Mention's `index`
23
+ pairScores: { [id: number]: { [id: number]: number } }; /// Pair-wise score, in `{ from: { to: ... } }` format. Non-directed arcs.
24
+ /// Single scores are to be compared to the set of pairScores (for the same mention).
25
+ /// If it's higher than every pair score, it's a single mention.
26
+ cleanedContext: string; /// Cleaned version of the context.
27
+ isResolved: boolean;
28
+ }
29
+
30
+ class Coref {
31
+ endpoint: string;
32
+ onStart = () => {};
33
+ onSuccess = () => {};
34
+
35
+ constructor(endpoint: string, opts: any) {
36
+ this.endpoint = endpoint;
37
+ if (opts.onStart) {
38
+ (<any>this).onStart = opts.onStart;
39
+ }
40
+ if (opts.onSuccess) {
41
+ (<any>this).onSuccess = opts.onSuccess;
42
+ }
43
+ }
44
+
45
+ parse(text: string) {
46
+ this.onStart();
47
+
48
+ const path = `${this.endpoint}?text=${encodeURIComponent(text)}`;
49
+ const request = new XMLHttpRequest();
50
+ request.open('GET', path);
51
+ request.onload = () => {
52
+ if (request.status >= 200 && request.status < 400) {
53
+ this.onSuccess();
54
+ const res: Response = JSON.parse(request.responseText);
55
+ this.render(res);
56
+ }
57
+ else {
58
+ console.log('Error', request);
59
+ }
60
+ };
61
+ request.send();
62
+ }
63
+
64
+ render(res: Response) {
65
+ console.log(res);
66
+ }
67
+ }
js-src/zController.ts ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ const ENDPOINT = "http://spacy.huggingface.co:8000/all";
3
+ const DEFAULT_NLP_TEXT = `'Lawrence of Arabia' is a highly rated film biography about British Lieutenant T. E. Lawrence. Peter O'Toole plays Lawrence in the film.`;
4
+
5
+ const loading = () => {
6
+ document.body.classList.toggle('loading');
7
+ };
8
+
9
+ const coref = new Coref(ENDPOINT, {
10
+ onStart: loading,
11
+ onSuccess: loading,
12
+ });
13
+
14
+ const getQueryVar = (key: string) => {
15
+ const query = window.location.search.substring(1);
16
+ const params = query.split('&').map(param => param.split('='));
17
+ for (const param of params) {
18
+ if (param[0] === key) { return decodeURIComponent(param[1]); }
19
+ }
20
+ return undefined;
21
+ }
22
+
23
+ const updateURL = (text) => {
24
+ history.pushState({ text: text }, "", `?text=${encodeURIComponent(text)}`);
25
+ }
26
+
27
+ document.addEventListener('DOMContentLoaded', () => {
28
+ const $input = document.querySelector('input.input-message') as HTMLInputElement;
29
+ const $form = document.querySelector('form.js-form') as HTMLFormElement;
30
+
31
+ {
32
+ // Initial text
33
+ const queryText = getQueryVar('text');
34
+ if (queryText) {
35
+ $input.value = queryText;
36
+ coref.parse(queryText);
37
+ }
38
+ }
39
+
40
+ $input.addEventListener('keydown', (evt) => {
41
+ if (evt.charCode === 13) {
42
+ // 13 is the Enter key
43
+ evt.preventDefault();
44
+ $form.submit();
45
+ }
46
+ });
47
+
48
+ $form.addEventListener('submit', (evt) => {
49
+ evt.preventDefault();
50
+ const text = $input.value;
51
+ updateURL(text);
52
+ coref.parse(text);
53
+ });
54
+ });
55
+
56
+
less/mixins/bfc.less ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ .bfc {
2
+ overflow: hidden;
3
+ }
less/mixins/clearfix.less ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ .clearfix {
2
+ &:before,
3
+ &:after {
4
+ content: " ";
5
+ display: table;
6
+ }
7
+ &:after {
8
+ clear: both;
9
+ }
10
+ }
less/mixins/size.less ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ .size(@width, @height) {
2
+ width: @width;
3
+ height: @height;
4
+ }
5
+
6
+ .square(@size) {
7
+ .size(@size, @size);
8
+ }
less/mixins/user-select.less ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ .user-select(@select) {
2
+ -webkit-user-select: @select;
3
+ -moz-user-select: @select;
4
+ -ms-user-select: @select; // IE10+
5
+ user-select: @select;
6
+ }
less/style.less ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ @import (less) "bower_components/normalize.css/normalize.css";
2
+
3
+ @import "mixins/bfc.less";
4
+ @import "mixins/clearfix.less";
5
+ @import "mixins/size.less";
6
+ @import "mixins/user-select.less";
7
+
8
+ body {
9
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
10
+ }
11
+
12
+ code, pre {
13
+ background-color: rgba(0,0,0,0.04);
14
+ border-radius: 3px;
15
+ padding: 2px 6px;
16
+ font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace;
17
+ font-size: 12px;
18
+ color: #2f2f2f;
19
+ }
20
+
21
+ .header {
22
+ padding: 18px 18px;
23
+ .input-wrapper {
24
+ background: #c5c5c5;
25
+ padding: 0.5rem 1rem;
26
+ margin: 0 0.75rem 0.75rem 0;
27
+ border-color: #181818;
28
+ border-radius: .5rem;
29
+ width: 76%;
30
+ .wrapper-inner {
31
+ width: 100%;
32
+ position: relative;
33
+ .clearfix();
34
+ .input-message-wrapper {
35
+ position: absolute;
36
+ left: 0;
37
+ right: 50px;
38
+ }
39
+ input.input-message {
40
+ outline: none;
41
+ border: none;
42
+ padding: 0;
43
+ background-color: transparent;
44
+ font-size: 20px;
45
+ line-height: 28px;
46
+ width: 100%;
47
+ }
48
+ button.input-button {
49
+ float: right;
50
+ outline: none;
51
+ border: none;
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+
58
+
59
+
60
+ /**
61
+ * Elements from Displacy
62
+ */
63
+
64
+
65
+ .c-input__icon {
66
+ margin-left: 0.75em
67
+ }
68
+ .c-input__button {
69
+ font-size: inherit;
70
+ background: transparent;
71
+ color: inherit;
72
+ cursor: pointer
73
+ }
74
+ .c-input__button.c-input__button--large {
75
+ font-size: 1.5em
76
+ }
77
+ .c-input__button__icon {
78
+ width: 1.25em;
79
+ height: 1.25em
80
+ }
81
+ .loading .c-input__button__icon {
82
+ display: none
83
+ }
84
+ .c-input__button__spinner {
85
+ width: 1.15em;
86
+ height: 1.15em;
87
+ display: none;
88
+ -webkit-animation: spinner 0.5s linear infinite;
89
+ animation: spinner 0.5s linear infinite
90
+ }
91
+ .loading .c-input__button__spinner {
92
+ display: inline-block
93
+ }
94
+ @-webkit-keyframes spinner {
95
+ to {
96
+ -webkit-transform: rotate(360deg);
97
+ transform: rotate(360deg)
98
+ }
99
+ }
100
+ @keyframes spinner {
101
+ to {
102
+ -webkit-transform: rotate(360deg);
103
+ transform: rotate(360deg)
104
+ }
105
+ }
package-lock.json ADDED
@@ -0,0 +1,1224 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "coref-viz",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 1,
5
+ "dependencies": {
6
+ "abbrev": {
7
+ "version": "1.1.0",
8
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
9
+ "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8="
10
+ },
11
+ "accepts": {
12
+ "version": "1.3.3",
13
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz",
14
+ "integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo="
15
+ },
16
+ "ajv": {
17
+ "version": "4.11.8",
18
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
19
+ "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
20
+ "optional": true
21
+ },
22
+ "ansi-regex": {
23
+ "version": "2.1.1",
24
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
25
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
26
+ },
27
+ "ansi-styles": {
28
+ "version": "2.2.1",
29
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
30
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
31
+ },
32
+ "argparse": {
33
+ "version": "1.0.9",
34
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz",
35
+ "integrity": "sha1-c9g7wmP4bpf4zE9rrhsOkKfSLIY="
36
+ },
37
+ "array-find-index": {
38
+ "version": "1.0.2",
39
+ "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
40
+ "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
41
+ },
42
+ "asap": {
43
+ "version": "2.0.5",
44
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz",
45
+ "integrity": "sha1-UidltQw1EEkOUtfc/ghe+bqWlY8=",
46
+ "optional": true
47
+ },
48
+ "asn1": {
49
+ "version": "0.2.3",
50
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
51
+ "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
52
+ "optional": true
53
+ },
54
+ "assert-plus": {
55
+ "version": "0.2.0",
56
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
57
+ "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
58
+ "optional": true
59
+ },
60
+ "async": {
61
+ "version": "1.5.2",
62
+ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
63
+ "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
64
+ },
65
+ "asynckit": {
66
+ "version": "0.4.0",
67
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
68
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
69
+ "optional": true
70
+ },
71
+ "aws-sign2": {
72
+ "version": "0.6.0",
73
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
74
+ "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
75
+ "optional": true
76
+ },
77
+ "aws4": {
78
+ "version": "1.6.0",
79
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
80
+ "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
81
+ "optional": true
82
+ },
83
+ "balanced-match": {
84
+ "version": "1.0.0",
85
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
86
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
87
+ },
88
+ "basic-auth": {
89
+ "version": "1.1.0",
90
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz",
91
+ "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ="
92
+ },
93
+ "batch": {
94
+ "version": "0.6.1",
95
+ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
96
+ "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY="
97
+ },
98
+ "bcrypt-pbkdf": {
99
+ "version": "1.0.1",
100
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
101
+ "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
102
+ "optional": true
103
+ },
104
+ "body-parser": {
105
+ "version": "1.14.2",
106
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz",
107
+ "integrity": "sha1-EBXLH+LEQ4WCWVgdtTMy+NDPUPk=",
108
+ "dependencies": {
109
+ "iconv-lite": {
110
+ "version": "0.4.13",
111
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
112
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI="
113
+ },
114
+ "qs": {
115
+ "version": "5.2.0",
116
+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz",
117
+ "integrity": "sha1-qfMRQq9GjLcrJbMBNrokVoNJFr4="
118
+ }
119
+ }
120
+ },
121
+ "boom": {
122
+ "version": "2.10.1",
123
+ "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
124
+ "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8="
125
+ },
126
+ "brace-expansion": {
127
+ "version": "1.1.8",
128
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
129
+ "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI="
130
+ },
131
+ "builtin-modules": {
132
+ "version": "1.1.1",
133
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
134
+ "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8="
135
+ },
136
+ "bytes": {
137
+ "version": "2.2.0",
138
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz",
139
+ "integrity": "sha1-/TVGSkA/b5EXwt42Cez/nK4ABYg="
140
+ },
141
+ "camelcase": {
142
+ "version": "2.1.1",
143
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
144
+ "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
145
+ },
146
+ "camelcase-keys": {
147
+ "version": "2.1.0",
148
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
149
+ "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc="
150
+ },
151
+ "caseless": {
152
+ "version": "0.12.0",
153
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
154
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
155
+ "optional": true
156
+ },
157
+ "chalk": {
158
+ "version": "1.1.3",
159
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
160
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
161
+ },
162
+ "co": {
163
+ "version": "4.6.0",
164
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
165
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
166
+ "optional": true
167
+ },
168
+ "coffee-script": {
169
+ "version": "1.10.0",
170
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz",
171
+ "integrity": "sha1-EpOLz5vhlI+gBvkuDEyegXBRCMA="
172
+ },
173
+ "colors": {
174
+ "version": "1.1.2",
175
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
176
+ "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
177
+ },
178
+ "combined-stream": {
179
+ "version": "1.0.5",
180
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
181
+ "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk="
182
+ },
183
+ "concat-map": {
184
+ "version": "0.0.1",
185
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
186
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
187
+ },
188
+ "connect": {
189
+ "version": "3.6.2",
190
+ "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.2.tgz",
191
+ "integrity": "sha1-aU6NIGgb/kkCgsiriGvpjwn0L+c=",
192
+ "dependencies": {
193
+ "debug": {
194
+ "version": "2.6.7",
195
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
196
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4="
197
+ },
198
+ "ms": {
199
+ "version": "2.0.0",
200
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
201
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
202
+ }
203
+ }
204
+ },
205
+ "connect-livereload": {
206
+ "version": "0.5.4",
207
+ "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.5.4.tgz",
208
+ "integrity": "sha1-gBV9E3HJ83zBQDmrGJWXDRGdw7w="
209
+ },
210
+ "content-type": {
211
+ "version": "1.0.2",
212
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz",
213
+ "integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
214
+ },
215
+ "cryptiles": {
216
+ "version": "2.0.5",
217
+ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
218
+ "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
219
+ "optional": true
220
+ },
221
+ "currently-unhandled": {
222
+ "version": "0.4.1",
223
+ "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
224
+ "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o="
225
+ },
226
+ "dashdash": {
227
+ "version": "1.14.1",
228
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
229
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
230
+ "optional": true,
231
+ "dependencies": {
232
+ "assert-plus": {
233
+ "version": "1.0.0",
234
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
235
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
236
+ "optional": true
237
+ }
238
+ }
239
+ },
240
+ "dateformat": {
241
+ "version": "1.0.12",
242
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
243
+ "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk="
244
+ },
245
+ "debug": {
246
+ "version": "2.2.0",
247
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
248
+ "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo="
249
+ },
250
+ "decamelize": {
251
+ "version": "1.2.0",
252
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
253
+ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
254
+ },
255
+ "delayed-stream": {
256
+ "version": "1.0.0",
257
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
258
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
259
+ },
260
+ "depd": {
261
+ "version": "1.1.0",
262
+ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz",
263
+ "integrity": "sha1-4b2Cxqq2ztlluXuIsX7T5SjKGMM="
264
+ },
265
+ "destroy": {
266
+ "version": "1.0.4",
267
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
268
+ "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
269
+ },
270
+ "ecc-jsbn": {
271
+ "version": "0.1.1",
272
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
273
+ "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
274
+ "optional": true
275
+ },
276
+ "ee-first": {
277
+ "version": "1.1.1",
278
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
279
+ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
280
+ },
281
+ "encodeurl": {
282
+ "version": "1.0.1",
283
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
284
+ "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
285
+ },
286
+ "errno": {
287
+ "version": "0.1.4",
288
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
289
+ "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=",
290
+ "optional": true
291
+ },
292
+ "error-ex": {
293
+ "version": "1.3.1",
294
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz",
295
+ "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw="
296
+ },
297
+ "escape-html": {
298
+ "version": "1.0.3",
299
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
300
+ "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
301
+ },
302
+ "escape-string-regexp": {
303
+ "version": "1.0.5",
304
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
305
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
306
+ },
307
+ "esprima": {
308
+ "version": "2.7.3",
309
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
310
+ "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE="
311
+ },
312
+ "etag": {
313
+ "version": "1.8.0",
314
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.0.tgz",
315
+ "integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
316
+ },
317
+ "eventemitter2": {
318
+ "version": "0.4.14",
319
+ "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
320
+ "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas="
321
+ },
322
+ "exit": {
323
+ "version": "0.1.2",
324
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
325
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
326
+ },
327
+ "extend": {
328
+ "version": "3.0.1",
329
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
330
+ "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
331
+ "optional": true
332
+ },
333
+ "extsprintf": {
334
+ "version": "1.0.2",
335
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
336
+ "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA="
337
+ },
338
+ "faye-websocket": {
339
+ "version": "0.10.0",
340
+ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
341
+ "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ="
342
+ },
343
+ "finalhandler": {
344
+ "version": "1.0.3",
345
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.3.tgz",
346
+ "integrity": "sha1-70fneVDpmXgOhgIqVg4yF+DQzIk=",
347
+ "dependencies": {
348
+ "debug": {
349
+ "version": "2.6.7",
350
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
351
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4="
352
+ },
353
+ "ms": {
354
+ "version": "2.0.0",
355
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
356
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
357
+ }
358
+ }
359
+ },
360
+ "find-up": {
361
+ "version": "1.1.2",
362
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
363
+ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8="
364
+ },
365
+ "findup-sync": {
366
+ "version": "0.3.0",
367
+ "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
368
+ "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
369
+ "dependencies": {
370
+ "glob": {
371
+ "version": "5.0.15",
372
+ "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
373
+ "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E="
374
+ }
375
+ }
376
+ },
377
+ "forever-agent": {
378
+ "version": "0.6.1",
379
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
380
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
381
+ "optional": true
382
+ },
383
+ "form-data": {
384
+ "version": "2.1.4",
385
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
386
+ "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
387
+ "optional": true
388
+ },
389
+ "fresh": {
390
+ "version": "0.5.0",
391
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.0.tgz",
392
+ "integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
393
+ },
394
+ "fs.realpath": {
395
+ "version": "1.0.0",
396
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
397
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
398
+ },
399
+ "gaze": {
400
+ "version": "1.1.2",
401
+ "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz",
402
+ "integrity": "sha1-hHIkZ3rbiHDWeSV+0ziP22HkAQU="
403
+ },
404
+ "get-stdin": {
405
+ "version": "4.0.1",
406
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
407
+ "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
408
+ },
409
+ "getobject": {
410
+ "version": "0.1.0",
411
+ "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
412
+ "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw="
413
+ },
414
+ "getpass": {
415
+ "version": "0.1.7",
416
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
417
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
418
+ "optional": true,
419
+ "dependencies": {
420
+ "assert-plus": {
421
+ "version": "1.0.0",
422
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
423
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
424
+ "optional": true
425
+ }
426
+ }
427
+ },
428
+ "glob": {
429
+ "version": "7.0.6",
430
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
431
+ "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo="
432
+ },
433
+ "globule": {
434
+ "version": "1.2.0",
435
+ "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.0.tgz",
436
+ "integrity": "sha1-HcScaCLdnoovoAuiopUAboZkvQk=",
437
+ "dependencies": {
438
+ "glob": {
439
+ "version": "7.1.2",
440
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
441
+ "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ=="
442
+ },
443
+ "lodash": {
444
+ "version": "4.17.4",
445
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
446
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
447
+ }
448
+ }
449
+ },
450
+ "graceful-fs": {
451
+ "version": "4.1.11",
452
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
453
+ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
454
+ },
455
+ "grunt": {
456
+ "version": "1.0.1",
457
+ "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz",
458
+ "integrity": "sha1-6HeHZOlEsY8yuw8QuQeEdcnftWs=",
459
+ "dependencies": {
460
+ "grunt-cli": {
461
+ "version": "1.2.0",
462
+ "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
463
+ "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg="
464
+ }
465
+ }
466
+ },
467
+ "grunt-contrib-connect": {
468
+ "version": "1.0.2",
469
+ "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-1.0.2.tgz",
470
+ "integrity": "sha1-XPkzuRpnOGBEJzwLJERgPNmIebo="
471
+ },
472
+ "grunt-contrib-less": {
473
+ "version": "1.4.1",
474
+ "resolved": "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.4.1.tgz",
475
+ "integrity": "sha1-O73sC3XRLOqlXWKUNiXAsIYc328=",
476
+ "dependencies": {
477
+ "async": {
478
+ "version": "2.5.0",
479
+ "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
480
+ "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw=="
481
+ },
482
+ "lodash": {
483
+ "version": "4.17.4",
484
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
485
+ "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
486
+ }
487
+ }
488
+ },
489
+ "grunt-contrib-watch": {
490
+ "version": "1.0.0",
491
+ "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz",
492
+ "integrity": "sha1-hKGnodar0m7VaEE0lscxM+mQAY8="
493
+ },
494
+ "grunt-known-options": {
495
+ "version": "1.1.0",
496
+ "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz",
497
+ "integrity": "sha1-pCdO6zL6dl2lp6OxcSYXzjsUQUk="
498
+ },
499
+ "grunt-legacy-log": {
500
+ "version": "1.0.0",
501
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz",
502
+ "integrity": "sha1-+4bxgJhHvAfcR4Q/ns1srLYt8tU="
503
+ },
504
+ "grunt-legacy-log-utils": {
505
+ "version": "1.0.0",
506
+ "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz",
507
+ "integrity": "sha1-p7ji0Ps1taUPSvmG/BEnSevJbz0=",
508
+ "dependencies": {
509
+ "lodash": {
510
+ "version": "4.3.0",
511
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
512
+ "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ="
513
+ }
514
+ }
515
+ },
516
+ "grunt-legacy-util": {
517
+ "version": "1.0.0",
518
+ "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz",
519
+ "integrity": "sha1-OGqnjcbtUJhsKxiVcmWxtIq7m4Y=",
520
+ "dependencies": {
521
+ "lodash": {
522
+ "version": "4.3.0",
523
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz",
524
+ "integrity": "sha1-79nEpuxT87BUEkKZFcPkgk5NJaQ="
525
+ }
526
+ }
527
+ },
528
+ "har-schema": {
529
+ "version": "1.0.5",
530
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
531
+ "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
532
+ "optional": true
533
+ },
534
+ "har-validator": {
535
+ "version": "4.2.1",
536
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
537
+ "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
538
+ "optional": true
539
+ },
540
+ "has-ansi": {
541
+ "version": "2.0.0",
542
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
543
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE="
544
+ },
545
+ "hawk": {
546
+ "version": "3.1.3",
547
+ "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
548
+ "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
549
+ "optional": true
550
+ },
551
+ "hoek": {
552
+ "version": "2.16.3",
553
+ "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
554
+ "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
555
+ },
556
+ "hooker": {
557
+ "version": "0.2.3",
558
+ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
559
+ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk="
560
+ },
561
+ "hosted-git-info": {
562
+ "version": "2.5.0",
563
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz",
564
+ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg=="
565
+ },
566
+ "http-errors": {
567
+ "version": "1.3.1",
568
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz",
569
+ "integrity": "sha1-GX4izevUGYWF6GlO9nhhl7ke2UI="
570
+ },
571
+ "http-signature": {
572
+ "version": "1.1.1",
573
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
574
+ "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
575
+ "optional": true
576
+ },
577
+ "http2": {
578
+ "version": "3.3.6",
579
+ "resolved": "https://registry.npmjs.org/http2/-/http2-3.3.6.tgz",
580
+ "integrity": "sha1-ffBiJ+ArW1pYQd7qCCObMZjQS+w="
581
+ },
582
+ "iconv-lite": {
583
+ "version": "0.4.18",
584
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.18.tgz",
585
+ "integrity": "sha512-sr1ZQph3UwHTR0XftSbK85OvBbxe/abLGzEnPENCQwmHf7sck8Oyu4ob3LgBxWWxRoM+QszeUyl7jbqapu2TqA=="
586
+ },
587
+ "image-size": {
588
+ "version": "0.5.5",
589
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
590
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
591
+ "optional": true
592
+ },
593
+ "indent-string": {
594
+ "version": "2.1.0",
595
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
596
+ "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA="
597
+ },
598
+ "inflight": {
599
+ "version": "1.0.6",
600
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
601
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
602
+ },
603
+ "inherits": {
604
+ "version": "2.0.3",
605
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
606
+ "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
607
+ },
608
+ "is-arrayish": {
609
+ "version": "0.2.1",
610
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
611
+ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
612
+ },
613
+ "is-builtin-module": {
614
+ "version": "1.0.0",
615
+ "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
616
+ "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74="
617
+ },
618
+ "is-finite": {
619
+ "version": "1.0.2",
620
+ "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
621
+ "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko="
622
+ },
623
+ "is-typedarray": {
624
+ "version": "1.0.0",
625
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
626
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
627
+ "optional": true
628
+ },
629
+ "is-utf8": {
630
+ "version": "0.2.1",
631
+ "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
632
+ "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
633
+ },
634
+ "isexe": {
635
+ "version": "2.0.0",
636
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
637
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
638
+ },
639
+ "isstream": {
640
+ "version": "0.1.2",
641
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
642
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
643
+ "optional": true
644
+ },
645
+ "js-yaml": {
646
+ "version": "3.5.5",
647
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz",
648
+ "integrity": "sha1-A3fDgBfKvHMisNH7zSWkkWQfL74="
649
+ },
650
+ "jsbn": {
651
+ "version": "0.1.1",
652
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
653
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
654
+ "optional": true
655
+ },
656
+ "json-schema": {
657
+ "version": "0.2.3",
658
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
659
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
660
+ "optional": true
661
+ },
662
+ "json-stable-stringify": {
663
+ "version": "1.0.1",
664
+ "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
665
+ "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
666
+ "optional": true
667
+ },
668
+ "json-stringify-safe": {
669
+ "version": "5.0.1",
670
+ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
671
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
672
+ "optional": true
673
+ },
674
+ "jsonify": {
675
+ "version": "0.0.0",
676
+ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
677
+ "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
678
+ "optional": true
679
+ },
680
+ "jsprim": {
681
+ "version": "1.4.0",
682
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
683
+ "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
684
+ "optional": true,
685
+ "dependencies": {
686
+ "assert-plus": {
687
+ "version": "1.0.0",
688
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
689
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
690
+ "optional": true
691
+ }
692
+ }
693
+ },
694
+ "less": {
695
+ "version": "2.7.2",
696
+ "resolved": "https://registry.npmjs.org/less/-/less-2.7.2.tgz",
697
+ "integrity": "sha1-No1sxz4fsDmBGDKAkYdDxdz5s98="
698
+ },
699
+ "livereload-js": {
700
+ "version": "2.2.2",
701
+ "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz",
702
+ "integrity": "sha1-bIclfmSKtHW8JOoldFftzB+NC8I="
703
+ },
704
+ "load-json-file": {
705
+ "version": "1.1.0",
706
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
707
+ "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA="
708
+ },
709
+ "lodash": {
710
+ "version": "3.10.1",
711
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
712
+ "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
713
+ },
714
+ "loud-rejection": {
715
+ "version": "1.6.0",
716
+ "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
717
+ "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8="
718
+ },
719
+ "map-obj": {
720
+ "version": "1.0.1",
721
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
722
+ "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
723
+ },
724
+ "media-typer": {
725
+ "version": "0.3.0",
726
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
727
+ "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
728
+ },
729
+ "meow": {
730
+ "version": "3.7.0",
731
+ "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
732
+ "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs="
733
+ },
734
+ "mime": {
735
+ "version": "1.3.6",
736
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz",
737
+ "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=",
738
+ "optional": true
739
+ },
740
+ "mime-db": {
741
+ "version": "1.27.0",
742
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
743
+ "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE="
744
+ },
745
+ "mime-types": {
746
+ "version": "2.1.15",
747
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
748
+ "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0="
749
+ },
750
+ "minimatch": {
751
+ "version": "3.0.4",
752
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
753
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
754
+ },
755
+ "minimist": {
756
+ "version": "1.2.0",
757
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
758
+ "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
759
+ },
760
+ "mkdirp": {
761
+ "version": "0.5.1",
762
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
763
+ "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
764
+ "optional": true,
765
+ "dependencies": {
766
+ "minimist": {
767
+ "version": "0.0.8",
768
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
769
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
770
+ "optional": true
771
+ }
772
+ }
773
+ },
774
+ "morgan": {
775
+ "version": "1.8.2",
776
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.8.2.tgz",
777
+ "integrity": "sha1-eErHc05KRTqcbm6GgKkyknXItoc=",
778
+ "dependencies": {
779
+ "debug": {
780
+ "version": "2.6.8",
781
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
782
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw="
783
+ },
784
+ "ms": {
785
+ "version": "2.0.0",
786
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
787
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
788
+ }
789
+ }
790
+ },
791
+ "ms": {
792
+ "version": "0.7.1",
793
+ "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
794
+ "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
795
+ },
796
+ "negotiator": {
797
+ "version": "0.6.1",
798
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
799
+ "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
800
+ },
801
+ "nopt": {
802
+ "version": "3.0.6",
803
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
804
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k="
805
+ },
806
+ "normalize-package-data": {
807
+ "version": "2.4.0",
808
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
809
+ "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw=="
810
+ },
811
+ "number-is-nan": {
812
+ "version": "1.0.1",
813
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
814
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
815
+ },
816
+ "oauth-sign": {
817
+ "version": "0.8.2",
818
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
819
+ "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
820
+ "optional": true
821
+ },
822
+ "object-assign": {
823
+ "version": "4.1.1",
824
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
825
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
826
+ },
827
+ "on-finished": {
828
+ "version": "2.3.0",
829
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
830
+ "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc="
831
+ },
832
+ "on-headers": {
833
+ "version": "1.0.1",
834
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz",
835
+ "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c="
836
+ },
837
+ "once": {
838
+ "version": "1.4.0",
839
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
840
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
841
+ },
842
+ "opn": {
843
+ "version": "4.0.2",
844
+ "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz",
845
+ "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU="
846
+ },
847
+ "parse-json": {
848
+ "version": "2.2.0",
849
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
850
+ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck="
851
+ },
852
+ "parseurl": {
853
+ "version": "1.3.1",
854
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz",
855
+ "integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
856
+ },
857
+ "path-exists": {
858
+ "version": "2.1.0",
859
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
860
+ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s="
861
+ },
862
+ "path-is-absolute": {
863
+ "version": "1.0.1",
864
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
865
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
866
+ },
867
+ "path-type": {
868
+ "version": "1.1.0",
869
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
870
+ "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE="
871
+ },
872
+ "performance-now": {
873
+ "version": "0.2.0",
874
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
875
+ "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
876
+ "optional": true
877
+ },
878
+ "pify": {
879
+ "version": "2.3.0",
880
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
881
+ "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
882
+ },
883
+ "pinkie": {
884
+ "version": "2.0.4",
885
+ "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
886
+ "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
887
+ },
888
+ "pinkie-promise": {
889
+ "version": "2.0.1",
890
+ "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
891
+ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o="
892
+ },
893
+ "portscanner": {
894
+ "version": "1.2.0",
895
+ "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-1.2.0.tgz",
896
+ "integrity": "sha1-sUu9olfRTDEPqcwJaCrwLUCWGAI="
897
+ },
898
+ "promise": {
899
+ "version": "7.3.1",
900
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
901
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
902
+ "optional": true
903
+ },
904
+ "prr": {
905
+ "version": "0.0.0",
906
+ "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz",
907
+ "integrity": "sha1-GoS4WQgyVQFBGFPQCB7j+obikmo=",
908
+ "optional": true
909
+ },
910
+ "punycode": {
911
+ "version": "1.4.1",
912
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
913
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
914
+ "optional": true
915
+ },
916
+ "qs": {
917
+ "version": "6.4.0",
918
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
919
+ "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
920
+ "optional": true
921
+ },
922
+ "range-parser": {
923
+ "version": "1.2.0",
924
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
925
+ "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
926
+ },
927
+ "raw-body": {
928
+ "version": "2.1.7",
929
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz",
930
+ "integrity": "sha1-rf6s4uT7MJgFgBTQjActzFl1h3Q=",
931
+ "dependencies": {
932
+ "bytes": {
933
+ "version": "2.4.0",
934
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz",
935
+ "integrity": "sha1-fZcZb51br39pNeJZhVSe3SpsIzk="
936
+ },
937
+ "iconv-lite": {
938
+ "version": "0.4.13",
939
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz",
940
+ "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI="
941
+ }
942
+ }
943
+ },
944
+ "read-pkg": {
945
+ "version": "1.1.0",
946
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
947
+ "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg="
948
+ },
949
+ "read-pkg-up": {
950
+ "version": "1.0.1",
951
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
952
+ "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI="
953
+ },
954
+ "redent": {
955
+ "version": "1.0.0",
956
+ "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
957
+ "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94="
958
+ },
959
+ "repeating": {
960
+ "version": "2.0.1",
961
+ "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
962
+ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo="
963
+ },
964
+ "request": {
965
+ "version": "2.81.0",
966
+ "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
967
+ "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
968
+ "optional": true
969
+ },
970
+ "resolve": {
971
+ "version": "1.1.7",
972
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
973
+ "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
974
+ },
975
+ "rimraf": {
976
+ "version": "2.2.8",
977
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
978
+ "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
979
+ },
980
+ "safe-buffer": {
981
+ "version": "5.1.1",
982
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
983
+ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
984
+ },
985
+ "semver": {
986
+ "version": "5.3.0",
987
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
988
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8="
989
+ },
990
+ "send": {
991
+ "version": "0.15.3",
992
+ "resolved": "https://registry.npmjs.org/send/-/send-0.15.3.tgz",
993
+ "integrity": "sha1-UBP5+ZAj31DRvZiSwZ4979HVMwk=",
994
+ "dependencies": {
995
+ "debug": {
996
+ "version": "2.6.7",
997
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.7.tgz",
998
+ "integrity": "sha1-krrR9tBbu2u6Isyoi80OyJTChh4="
999
+ },
1000
+ "http-errors": {
1001
+ "version": "1.6.1",
1002
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
1003
+ "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc="
1004
+ },
1005
+ "mime": {
1006
+ "version": "1.3.4",
1007
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz",
1008
+ "integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
1009
+ },
1010
+ "ms": {
1011
+ "version": "2.0.0",
1012
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1013
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1014
+ }
1015
+ }
1016
+ },
1017
+ "serve-index": {
1018
+ "version": "1.9.0",
1019
+ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.0.tgz",
1020
+ "integrity": "sha1-0rKA/FYNYW7oG0i/D6gqvtJIXOc=",
1021
+ "dependencies": {
1022
+ "debug": {
1023
+ "version": "2.6.8",
1024
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
1025
+ "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw="
1026
+ },
1027
+ "http-errors": {
1028
+ "version": "1.6.1",
1029
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.1.tgz",
1030
+ "integrity": "sha1-X4uO2YrKVFZWv1cplzh/kEpyIlc="
1031
+ },
1032
+ "ms": {
1033
+ "version": "2.0.0",
1034
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1035
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1036
+ }
1037
+ }
1038
+ },
1039
+ "serve-static": {
1040
+ "version": "1.12.3",
1041
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.12.3.tgz",
1042
+ "integrity": "sha1-n0uhni8wMMVH+K+ZEHg47DjVseI="
1043
+ },
1044
+ "setprototypeof": {
1045
+ "version": "1.0.3",
1046
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
1047
+ "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
1048
+ },
1049
+ "signal-exit": {
1050
+ "version": "3.0.2",
1051
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1052
+ "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
1053
+ },
1054
+ "sntp": {
1055
+ "version": "1.0.9",
1056
+ "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
1057
+ "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
1058
+ "optional": true
1059
+ },
1060
+ "source-map": {
1061
+ "version": "0.5.6",
1062
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
1063
+ "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
1064
+ "optional": true
1065
+ },
1066
+ "spdx-correct": {
1067
+ "version": "1.0.2",
1068
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz",
1069
+ "integrity": "sha1-SzBz2TP/UfORLwOsVRlJikFQ20A="
1070
+ },
1071
+ "spdx-expression-parse": {
1072
+ "version": "1.0.4",
1073
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz",
1074
+ "integrity": "sha1-m98vIOH0DtRH++JzJmGR/O1RYmw="
1075
+ },
1076
+ "spdx-license-ids": {
1077
+ "version": "1.2.2",
1078
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz",
1079
+ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc="
1080
+ },
1081
+ "sprintf-js": {
1082
+ "version": "1.0.3",
1083
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
1084
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
1085
+ },
1086
+ "sshpk": {
1087
+ "version": "1.13.1",
1088
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
1089
+ "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
1090
+ "optional": true,
1091
+ "dependencies": {
1092
+ "assert-plus": {
1093
+ "version": "1.0.0",
1094
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1095
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
1096
+ "optional": true
1097
+ }
1098
+ }
1099
+ },
1100
+ "statuses": {
1101
+ "version": "1.3.1",
1102
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
1103
+ "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
1104
+ },
1105
+ "stringstream": {
1106
+ "version": "0.0.5",
1107
+ "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
1108
+ "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
1109
+ "optional": true
1110
+ },
1111
+ "strip-ansi": {
1112
+ "version": "3.0.1",
1113
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1114
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
1115
+ },
1116
+ "strip-bom": {
1117
+ "version": "2.0.0",
1118
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
1119
+ "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4="
1120
+ },
1121
+ "strip-indent": {
1122
+ "version": "1.0.1",
1123
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
1124
+ "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI="
1125
+ },
1126
+ "supports-color": {
1127
+ "version": "2.0.0",
1128
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1129
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
1130
+ },
1131
+ "tiny-lr": {
1132
+ "version": "0.2.1",
1133
+ "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz",
1134
+ "integrity": "sha1-s/26gC5dVqM8L28QeUsy5Hescp0=",
1135
+ "dependencies": {
1136
+ "qs": {
1137
+ "version": "5.1.0",
1138
+ "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz",
1139
+ "integrity": "sha1-TZMuXH6kEcynajEtOaYGIA/VDNk="
1140
+ }
1141
+ }
1142
+ },
1143
+ "tough-cookie": {
1144
+ "version": "2.3.2",
1145
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
1146
+ "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
1147
+ "optional": true
1148
+ },
1149
+ "trim-newlines": {
1150
+ "version": "1.0.0",
1151
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
1152
+ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
1153
+ },
1154
+ "tunnel-agent": {
1155
+ "version": "0.6.0",
1156
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1157
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1158
+ "optional": true
1159
+ },
1160
+ "tweetnacl": {
1161
+ "version": "0.14.5",
1162
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1163
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
1164
+ "optional": true
1165
+ },
1166
+ "type-is": {
1167
+ "version": "1.6.15",
1168
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
1169
+ "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA="
1170
+ },
1171
+ "underscore.string": {
1172
+ "version": "3.2.3",
1173
+ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz",
1174
+ "integrity": "sha1-gGmSYzZl1eX8tNsfs6hi62jp5to="
1175
+ },
1176
+ "unpipe": {
1177
+ "version": "1.0.0",
1178
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1179
+ "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
1180
+ },
1181
+ "utils-merge": {
1182
+ "version": "1.0.0",
1183
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
1184
+ "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
1185
+ },
1186
+ "uuid": {
1187
+ "version": "3.1.0",
1188
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
1189
+ "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==",
1190
+ "optional": true
1191
+ },
1192
+ "validate-npm-package-license": {
1193
+ "version": "3.0.1",
1194
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz",
1195
+ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w="
1196
+ },
1197
+ "verror": {
1198
+ "version": "1.3.6",
1199
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
1200
+ "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
1201
+ "optional": true
1202
+ },
1203
+ "websocket-driver": {
1204
+ "version": "0.6.5",
1205
+ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
1206
+ "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY="
1207
+ },
1208
+ "websocket-extensions": {
1209
+ "version": "0.1.1",
1210
+ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz",
1211
+ "integrity": "sha1-domUmcGEtu91Q3fC27DNbLVdKec="
1212
+ },
1213
+ "which": {
1214
+ "version": "1.2.14",
1215
+ "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz",
1216
+ "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU="
1217
+ },
1218
+ "wrappy": {
1219
+ "version": "1.0.2",
1220
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1221
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1222
+ }
1223
+ }
1224
+ }
package.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "coref-viz",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "Gruntfile.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "grunt": "^1.0.1",
13
+ "grunt-contrib-connect": "^1.0.2",
14
+ "grunt-contrib-less": "^1.4.1",
15
+ "grunt-contrib-watch": "^1.0.0"
16
+ }
17
+ }
tsconfig.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "compilerOptions": {
3
+ "target": "es5",
4
+ "outFile": "dist/script.js",
5
+ "sourceMap": false,
6
+ "strictNullChecks": true,
7
+ "removeComments": true,
8
+ "lib": ["dom", "es6", "es2016", "es2017"]
9
+ },
10
+ "include": [
11
+ "typings/**/*",
12
+ "js-src/**/*"
13
+ ],
14
+ "exclude": [
15
+ "node_modules",
16
+ "bower_components"
17
+ ]
18
+ }